Leetcode 只出现一次的数字 II


也就是说,ones 和 twos 是若干个 并行更新的,相当于两个单独的0-1数组,two[i] one[i] 组成当前位 i 的状态。由于只存在一个出现次数为 1 的数字,所以遍历完所有数字后,各二进制位的状态只可能处于 00 或 01 状态,不可能处于 10 状态,此时由于twos恒为0,所以我们可以用 ones 来返回最终的结果。

java 实现

java 复制代码
class Solution {
    public int singleNumber(int[] nums) {
        int ones = 0, twos = 0;
        for(int num:nums) {
            ones = (ones ^ num) & ~twos; //更新所有位状态的 one 
            twos = (twos ^ num) & ~ones; //更新所有位状态的 two 
        }
        return ones;
    }
}
相关推荐
流云鹤7 分钟前
2026牛客寒假算法基础集训营5(B D G J F )
算法
教男朋友学大模型7 分钟前
LoRA 为什么必须把一个矩阵初始化为0
人工智能·算法·面试·求职招聘
得一录11 分钟前
Python 算法高级篇:布谷鸟哈希算法与分布式哈希表
python·算法·aigc·哈希算法
啊吧啊吧abab12 分钟前
二分查找与二分答案
c++·算法·二分
AC赳赳老秦15 分钟前
2026 智能制造趋势:DeepSeek 助力“黑灯”工厂运营,实现生产流程自动化
网络·数据结构·算法·安全·web安全·prometheus·deepseek
流云鹤18 分钟前
2026牛客寒假算法基础集训营6(K H G B A)
算法
程序员酥皮蛋20 分钟前
hot 100 第三十题 30. 两两交换链表中的节点
数据结构·算法·leetcode·链表
寻寻觅觅☆21 分钟前
东华OJ-基础题-131-8皇后·改(C++)
c++·算法·深度优先
踩坑记录27 分钟前
leetcode hot100 207. 课程表 检测有向图中是否存在环 medium Kahn 算法 入度表 BFS 图论
leetcode·宽度优先
程序员徐师兄29 分钟前
基于 Python 深度学习的电影评论情感分析算法
python·深度学习·算法·电影情感分析算法·评论情感分析