题解 | #数组中只出现一次的两个数字#
数组中只出现一次的两个数字
http://www.nowcoder.com/practice/389fc1c3d3be4479a154f63f495abff8
lowbit最后一个一 求两数的不同处
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param array int整型vector * @return int整型vector */ vector<int> FindNumsAppearOnce(vector<int>& array) { // write code here int temp=0; int n=array.size(); for(auto i:array){ temp^=i; } int lowbit=temp&-temp; vector<int> ans(2); for(auto i:array){ if(i&lowbit) ans[0]^=i; else ans[1]^=i; } sort(ans.begin(),ans.end()); return ans; } };