136.只出现一次的数字

136. 只出现一次的数字 - 力扣(LeetCode)

给你一个 非空 整数数组 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
  • 除了某个元素只出现一次以外,其余每个元素均出现两次。

思路

利用异或运算;借鉴文章:http://t.csdnimg.cn/oydZq

完整代码

复制代码
class Solution {
    public int singleNumber(int[] nums) {
            int result = nums[0];
            if(nums.length>1){
                for(int i=1;i<nums.length;i++){
                    result = result^nums[i];
                }
            }
            return result;
    }
}
相关推荐
遇见尚硅谷15 分钟前
C语言:20250728学习(指针)
c语言·开发语言·数据结构·c++·笔记·学习·算法
愿你天黑有灯下雨有伞29 分钟前
枚举策略模式实战:优雅消除支付场景的if-else
java·开发语言·策略模式
十八岁讨厌编程43 分钟前
【算法训练营Day17】二叉树part7
算法
Dcs1 小时前
gRPC性能陷阱:低延迟网络下的客户端瓶颈揭秘
java
探索java1 小时前
深入解析 Spring 获取 XML 验证模式的过程
xml·java·spring
找不到、了1 小时前
Java设计模式之<装饰器模式>
java·设计模式·装饰器模式
YouQian7721 小时前
(AC)Playlist
算法
java叶新东老师1 小时前
解决windows系统下 idea、CLion 控制台中文乱码问题
java·windows·intellij-idea
算法_小学生2 小时前
决策树(Decision Tree)完整解析:原理 + 数学推导 + 剪枝 + 实战
算法·决策树·剪枝
岁忧2 小时前
(LeetCode 面试经典 150 题 ) 155. 最小栈 (栈)
java·c++·算法·leetcode·面试·go