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};
    }
};
相关推荐
你好,奋斗者!30 分钟前
#define STEUER_A_H {PWM_A_ON}
c语言
到底怎么取名字不会重复1 小时前
Day10——LeetCode15&560
c++·算法·leetcode·哈希算法·散列表
chuxinweihui2 小时前
数据结构——二叉树,堆
c语言·开发语言·数据结构·学习·算法·链表
周而复始 否极泰来2 小时前
深入浅出学会函数(上)
c语言·学习
看到我,请让我去学习2 小时前
C语言基础(day0424)
c语言·开发语言·数据结构
数据分析螺丝钉3 小时前
LeetCode 252 会议室 III(Meeting Rooms III)题解与模拟面试
算法·leetcode·职场和发展
猫猫头有亿点炸3 小时前
C语言斐波拉契数列2.0
c语言·开发语言·算法
努力写代码的熊大3 小时前
c语言中文件操作详解
c语言·开发语言
明月醉窗台4 小时前
Qt 入门 6 之布局管理
c语言·开发语言·c++·qt
YuforiaCode4 小时前
第十四届蓝桥杯 2023 C/C++组 冶炼金属
c语言·c++·蓝桥杯