定个小目标之每天刷LeetCode热题(12)

这是一道简单题,使用位运算中的异或运算即可,异或运算有以下性质:

1、任何数异或 0 结果仍然是原来的数,即 a⊕0=a

2、任何数和其自身做异或运算,结果是 0

所以我们只需要让数组里的所有元素进行异或运算得到的结果就是那个只出现一次的数字,代码如下所示

java 复制代码
class Solution {
    public int singleNumber(int[] nums) {
        int single = 0;
        for (int num : nums) {
            single ^= num;
        }
        return single;
    }
}

题目链接:题单 - 力扣(LeetCode)全球极客挚爱的技术成长平台

相关推荐
放荡不羁的野指针15 小时前
leetcode150题-双指针
数据结构·算法·leetcode
好学且牛逼的马15 小时前
【Hot100|15-LeetCode 238. 除自身以外数组的乘积】
数据结构·算法·leetcode
Tisfy15 小时前
LeetCode 3651.带传送的最小路径成本:动态规划
算法·leetcode·动态规划·题解·排序
努力学习的小廉15 小时前
我爱学算法之—— 递归回溯综合(一)
算法·深度优先
m0_7369191015 小时前
C++中的策略模式实战
开发语言·c++·算法
孞㐑¥15 小时前
算法—位运算
c++·经验分享·笔记·算法
软件算法开发15 小时前
基于卷尾猴优化的LSTM深度学习网络模型(CSA-LSTM)的一维时间序列预测算法matlab仿真
深度学习·算法·matlab·lstm·一维时间序列预测·卷尾猴优化·csa-lstm
高洁0116 小时前
知识图谱如何在制造业实际落地应用
深度学习·算法·机器学习·数据挖掘·知识图谱
BHXDML16 小时前
数据结构:(二)逻辑之门——栈与队列
java·数据结构·算法
晚风吹长发16 小时前
初步了解Linux中的信号捕捉
linux·运维·服务器·c++·算法·进程·x信号