看下面题解都太复杂了,写个简单的C++

数组中只出现一次的数字

https://www.nowcoder.com/questionTerminal/e02fdb54d7524710a7d664d082bb7811?answerType=1&f=discussion

class Solution {
public:
    void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) {
        int ans = 0;
        for(int d: data)
            ans ^= d;
        *num1 = ans; *num2 = ans;
        int tmp = ans &(~ans+1);    //取最右边1
        for(int d: data){
            if(tmp&d)
                *num1 ^= d;
            else
                *num2 ^= d;
        }
    }
};
全部评论

相关推荐

10-28 10:48
已编辑
门头沟学院 Java
孩子我想要offer:发笔试后还没笔试把我挂了,然后邮箱一直让我测评没测,后面不知道干嘛又给我捞起来下轮笔试,做完测评笔试又挂了😅
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务