定个小目标之每天刷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)全球极客挚爱的技术成长平台

相关推荐
点云SLAM1 天前
C++ 中traits 类模板(type traits / customization traits)设计技术深度详解
c++·算法·c++模板·c++高级应用·traits 类模板·c++17、20·c++元信息
CoderYanger1 天前
动态规划算法-两个数组的dp(含字符串数组):48.最长重复子数组
java·算法·leetcode·动态规划·1024程序员节
liu****1 天前
9.二叉树(一)
c语言·开发语言·数据结构·算法·链表
sin_hielo1 天前
leetcode 3577
数据结构·算法·leetcode
ACERT3331 天前
04矩阵理论复习-矩阵的分解
算法·矩阵
csuzhucong1 天前
快餐连锁大亨
算法
ssshooter1 天前
小猫都能懂的大模型原理 1 - 深度学习基础
人工智能·算法·llm
慕容青峰1 天前
【LeetCode 1925. 统计平方和三元组的数目 题解】
c++·算法·leetcode
冰西瓜6001 天前
动态规划(一)算法设计与分析 国科大
算法·动态规划
TL滕1 天前
从0开始学算法——第十一天(字符串基础算法)
笔记·学习·算法