LeetCode[简单] 136. 只出现一次的数字

给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。

思路

当 A 与 B 不同时,按位异或操作后所得新值某一位值将为1,反之为0;

0与任何值异或都为该值本身。

cs 复制代码
public class Solution {
    public int SingleNumber(int[] nums) {
        int result = 0;
        for(int i = 0; i < nums.Length; i++)
        {
            result ^= nums[i];
        }
        return result;
    }
}
复杂度

时间复杂度:O(n)

空间复杂度:O(1)

相关推荐
thginWalker1 分钟前
leetcode有空可以挑战的题目
leetcode
52Hz1182 分钟前
力扣207.课程表、208.实现Trie(前缀树)
python·leetcode
Σίσυφος190020 分钟前
四元数 欧拉角 旋转矩阵
人工智能·算法·矩阵
shentuyu木木木(森)22 分钟前
单调队列 & 单调栈
数据结构·c++·算法·单调栈·单调队列
ghie909024 分钟前
基于MATLAB的指纹定位算法仿真实现
数据库·算法·matlab
熬了夜的程序员31 分钟前
【LeetCode】119. 杨辉三角 II
算法·leetcode·职场和发展
sali-tec1 小时前
C# 基于OpenCv的视觉工作流-章24-SURF特征点
图像处理·人工智能·opencv·算法·计算机视觉
hillstream31 小时前
从这次xAI重组说开去--用类比的思维来理解
人工智能·算法·xai·elon.mask
菜鸡儿齐1 小时前
leetcode-最长连续序列
数据结构·算法·leetcode
寻寻觅觅☆1 小时前
东华OJ-基础题-120-顺序的分数(C++)
开发语言·c++·算法