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};
    }
};
相关推荐
C++ 老炮儿的技术栈3 小时前
什么是函数重载?为什么 C 不支持函数重载,而 C++能支持函数重载?
c语言·开发语言·c++·qt·算法
inputA3 小时前
【LwIP源码学习6】UDP部分源码分析
c语言·stm32·单片机·嵌入式硬件·网络协议·学习·udp
JANYI20184 小时前
嵌入式设计模式基础--C语言的继承封装与多态
java·c语言·设计模式
MarkHard1234 小时前
Leetcode (力扣)做题记录 hot100(62,64,287,108)
算法·leetcode·职场和发展
小_楠_天_问6 小时前
第二课:ESP32 使用 PWM 渐变控制——实现模拟呼吸灯或音调变化
c语言·嵌入式硬件·mcu·esp32·arduino·pwm·esp32-s3
秋山落叶万岭花开ღ6 小时前
C语言顺序表应用详解:从理论到实践
c语言
2301_803554526 小时前
c++和c的不同
java·c语言·c++
小狗祈祷诗6 小时前
day20-线性表(链表II)
c语言·数据结构·链表
白露秋487 小时前
C——五子棋小游戏
c语言·游戏
小羊在奋斗8 小时前
【LeetCode 热题 100】反转链表 / 回文链表 / 有序链表转换二叉搜索树 / LRU 缓存
算法·leetcode·链表