C语言 | Leetcode C语言题解之第136题只出现一次的数字

题目:

题解:

cpp 复制代码
class Solution {
public:
    vector<int> singleNumbers(vector<int>& nums) {
        int eor = 0;
        for (int num:nums)
            eor ^= num;
        int rightOne = eor & (~eor + 1); // 提取出最右的1
        int onlyOne = 0;
        for (int cur : nums) {
            if ((cur & rightOne) != 0)
                onlyOne ^= cur;
        return vector<int>{onlyOne, eor^onlyOne};
    }
};
相关推荐
不爱吃炸鸡柳1 小时前
[特殊字符]C/C++内存管理深度解剖:从内存布局到new/delete底层,吃透面试必考核心
c语言·c++·面试
py有趣2 小时前
力扣热门100题之合并区间
算法·leetcode
派大星~课堂2 小时前
【力扣-138. 随机链表的复制 ✨】Python笔记
python·leetcode·链表
cpp_25012 小时前
P10108 [GESP202312 六级] 闯关游戏
数据结构·c++·算法·动态规划·题解·洛谷·gesp六级
Lzh编程小栈2 小时前
数据结构与算法之队列深度解析:循环队列+C 语言硬核实现 + 面试考点全梳理
c语言·开发语言·汇编·数据结构·后端·算法·面试
py有趣2 小时前
力扣热门100题之最小覆盖子串
算法·leetcode
北顾笙9803 小时前
day15-数据结构力扣
数据结构·算法·leetcode
人道领域3 小时前
【LeetCode刷题日记:24】两两交换链表
算法·leetcode·链表
北顾笙9804 小时前
day16-数据结构力扣
数据结构·算法·leetcode
wsoz4 小时前
Leetcode子串-day4
c++·算法·leetcode