力扣热题100------136.只出现一次的数字

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

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

示例 1 :

输入:nums = [2,2,1]

输出:1

示例 2 :

输入:nums = [4,1,2,1,2]

输出:4

示例 3 :

输入:nums = [1]

输出:1

提示:

1 <= nums.length <= 3 * 104

-3 * 104 <= nums[i] <= 3 * 104

除了某个元素只出现一次以外,其余每个元素均出现两次。

思路:采用异或运算 定义一个a的值为0, 遍历整个数组 让每个元素与a进行异或运算 两个相同的数字出现 就会被消除 因为两个相同的数字的异或运算结果为0 那么剩下的a就是只出现一次的数字

java 复制代码
class Solution {
    public int singleNumber(int[] nums) {
        int a=0;
        for(int i=0;i<nums.length;i++){
            a ^=nums[i];
        }
        return a;
    }
}
相关推荐
与己斗其乐无穷1 天前
刷题记录(11)map和set的简单使用
算法
夜月yeyue1 天前
个人写HTOS移植shell
c++·mcu·算法·性能优化·架构·mfc
Nix Lockhart1 天前
《算法与数据结构》第七章[算法3]:图的最小生成树
c语言·数据结构·算法
十重幻想1 天前
PTA6-5 使用函数求1到10的阶乘和(C)
java·c语言·算法
名誉寒冰1 天前
【LeetCode】454. 四数相加 II 【分组+哈希表】详解
算法·leetcode·散列表
十重幻想1 天前
PTA6-4 使用函数统计指定数字的个数(C)
c语言·c++·算法
格林威1 天前
机器视觉的工业镜头有哪些?能做什么?
人工智能·深度学习·数码相机·算法·计算机视觉·视觉检测·工业镜头
tao3556671 天前
【Python刷力扣hot100】49. Group Anagrams
开发语言·python·leetcode
夏鹏今天学习了吗1 天前
【LeetCode热题100(35/100)】LRU 缓存
算法·leetcode·缓存
拾光Ծ1 天前
【C++】STL有序关联容器的双生花:set/multiset 和 map/multimap 使用指南
数据结构·c++·算法