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)

相关推荐
Dave.B13 小时前
vtkPolyDataConnectivityFilter 实用指南
算法·vtk
细节处有神明14 小时前
开源数据之历史气象数据的获取与使用
人工智能·python·算法
小白开始进步14 小时前
JAKA Zu12 机械臂运动学算法深度解析(含可视化方案)
python·算法·numpy
梵刹古音14 小时前
【C语言】 递归函数
c语言·数据结构·算法
yongui4783415 小时前
混凝土二维随机骨料模型 MATLAB 实现
算法·matlab
酉鬼女又兒15 小时前
JAVA牛客入门11~20
算法
努力学算法的蒟蒻15 小时前
day75(2.3)——leetcode面试经典150
面试·职场和发展
觉醒大王15 小时前
硕士/博士研究生避坑指南
笔记·深度学习·学习·自然语言处理·职场和发展·学习方法
代码游侠15 小时前
C语言核心概念复习(二)
c语言·开发语言·数据结构·笔记·学习·算法