力扣热题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;
    }
}
相关推荐
cpp_25013 分钟前
P11375 [GESP202412 六级] 树上游走
数据结构·c++·算法·题解·洛谷·树形结构·gesp六级
川冰ICE3 分钟前
JavaScript进阶③|Map_Set_WeakMap_WeakSet,新型数据结构
开发语言·javascript·数据结构
小雨下雨的雨6 分钟前
鸿蒙PC用Electron框架 实现 房产交易系统核心算法深度解析
前端·javascript·算法·华为·electron·鸿蒙系统
CQU_JIAKE6 分钟前
6.3[a]
算法
此生决int7 分钟前
算法从入门到精通——字符串
数据结构·c++·算法·蓝桥杯
bIo7lyA8v8 分钟前
算法复杂度下限证明与优化空间分析的技术8
算法
luj_176810 分钟前
硝酸体系核关联假说解析
服务器·c语言·开发语言·经验分享·算法
love_muming12 分钟前
数据结构入门:栈与队列详解
java·开发语言·数据结构
Je1lyfish12 分钟前
CMU15-445 (2025 Fall/2026 Spring) Project#4 - Concurrency Control
开发语言·数据库·c++·笔记·后端·算法·系统架构
奋斗的袍子00714 分钟前
springboot集成国密算法SM2
java·spring boot·算法