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)

相关推荐
顶点多余5 分钟前
9.24 面试复盘
面试·职场和发展
学术小李36 分钟前
cudaMalloc第一个参数为何是指针的指针
算法
kukubuzai39 分钟前
二分查找系列一
数据结构·算法·leetcode
老歌老听老掉牙43 分钟前
动态规划:从递归到最优决策的算法艺术
算法·动态规划
朔北之忘 Clancy1 小时前
2024 CSP-J 第二轮真题解析
c++·算法·青少年编程·noip·csp·信奥赛·noi
小七在进步1 小时前
类和对象(五)
java·开发语言·算法
鑫 源1 小时前
VS2019 for mac里用c#开发Mac OS应用 避坑 和 源码
职场和发展·蓝桥杯
就叫年华吧丶1 小时前
长文档点目录定位总是不准?一个 content-visibility + 平滑滚动引发的连环坑(Vue3 实战)
前端·javascript·算法·vue
FPGA信号处理2 小时前
【信号检测与估计】第四节课:非高斯噪声下的 BLUE、极大似然与 EM 算法
人工智能·算法·机器学习