int res=0; for(int i = 31;i>=0;i--){ res = res<< 1; if(temp[i]%3==1) res = res | 1; }
return res; } };
结果好了一点
1 2 3 4 5 6 7 8 9 10 11 12
执行用时: 44 ms , 在所有 C++ 提交中击败了 26.27% 的用户 内存消耗: 15.8 MB , 在所有 C++ 提交中击败了 42.66% 的用户 通过测试用例: 32 / 32
深度优化,大佬做法
1 2 3 4 5 6 7 8 9 10 11 12
class Solution { public: int singleNumber(vector<int>& nums) { int A = 0, B = 0; for (int C : nums) { int tmp = A; A = (B & C) | (A & ~C); B = (B & ~C) | (~tmp & ~B & C); } return B; } };
结果起飞
1 2 3 4 5 6 7 8 9 10
执行用时: 28 ms , 在所有 C++ 提交中击败了 80.24% 的用户 内存消耗: 15.7 MB , 在所有 C++ 提交中击败了 75.95% 的用户