力扣热题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 <= numsi <= 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;
    }
}
相关推荐
mikuyyds2 分钟前
geo-toolbox 水文插件算法解析:从 Muskingum 到 Muskingum-Cunge
算法·rust·gis
Omics Pro15 分钟前
斯坦福Nature+Science|广义虚拟细胞基础大模型
数据库·人工智能·算法·机器学习·自然语言处理
代数狂人16 分钟前
机器学习数学基础──从零开始 导读
人工智能·算法
CoderYanger40 分钟前
A.每日一题:835. 图像重叠
java·开发语言·程序人生·leetcode·面试·职场和发展·学习方法
圣保罗的大教堂1 小时前
leetcode 3524. 求出数组的 X 值 I 中等
leetcode
Zane19941 小时前
暴力字符串匹配失配就要把文本指针往回拉,KMP凭什么能让它一直往前走
算法
Tim_102 小时前
【LeetCode】338、比特位计数
c++·算法·leetcode
木子算法2 小时前
不是重心也不是中点:费马—韦伯点、它的最优性条件与迭代求解
人工智能·算法·目标跟踪
tryxr3 小时前
矩阵的几种基础变换
java·数据结构·算法·矩阵
mmmmath_33 小时前
LeetCode.028.找出字符串中第一个匹配项的
数据结构·算法·leetcode