LCR178.训练计划VI
链接:LCR178.训练计划VI
难度:Medium
标签:位运算、数组
简介:在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。
题解 1 - cpp
- 编辑时间:2021-12-24
- 执行用时:40ms
- 内存消耗:15.8MB
- 编程语言:cpp
- 解法介绍:用数组存储每个位有几个 1。
class Solution {
public:
int singleNumber(vector<int>& nums) {
int list[40] = {0};
for (auto& num : nums) {
for (int i = 0; i < 32; i++) {
if (num & (1 << i)) list[i]++;
}
}
int ans = 0;
for (int i = 0; i < 32; i++) {
if (list[i] % 3) {
ans |= 1 << i;
}
}
return ans;
}
};