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};
    }
};
相关推荐
Hello:CodeWorld2 小时前
C 风格变参 vs C++ 变参模板:核心区别与选型指南
c语言·c++·算法
8Qi84 小时前
LeetCode 516:最长回文子序列
算法·leetcode·职场和发展·动态规划
十月的皮皮4 小时前
C语言学习笔记20260606- 求月份天数三种写法
c语言·笔记·学习
caimouse5 小时前
Reactos 第 5 章 进程与线程 — 5.8 Windows 的 APC 机制
c语言·windows
努力攻坚操作系统7 小时前
编程语言编译运行机制对比:C / Java / Python
java·c语言·python
小欣加油8 小时前
leetcode287寻找重复数
数据结构·c++·算法·leetcode
学会去珍惜8 小时前
C语言简介
c语言·开发语言
凡人叶枫8 小时前
Effective C++ 条款07:为多态基类声明 virtual 析构函数
linux·c语言·开发语言·c++
怪兽学LLM9 小时前
LeetCode 438 找到字符串中所有字母异位词(Python 固定滑动窗口+字符计数解法)
python·算法·leetcode
matlabgoodboy9 小时前
计算机java程序代写python代码编写c/c++代做qt设计php开发matlab
java·c语言·python