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;
    }
}
相关推荐
i***68323 小时前
【MyBatis】spring整合mybatis教程(详细易懂)
java·spring·mybatis
小马爱打代码3 小时前
Spring AI:ChatMemory 实现聊天记忆功能
java·人工智能·spring
小许学java3 小时前
数据结构-模拟实现顺序表和链表
java·数据结构·链表·arraylist·linkedlist·顺序表模拟实现·链表的模拟实现
+VX:Fegn08953 小时前
计算机毕业设计|基于springboot + vue零食商城管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
Xの哲學4 小时前
Linux设备管理:从内核驱动到用户空间的完整架构解析
linux·服务器·算法·架构·边缘计算
Query*4 小时前
杭州2024.08 Java开发岗面试题分类整理【附面试技巧】
java·开发语言·面试
WZTTMoon4 小时前
Spring Boot 4.0 迁移核心注意点总结
java·spring boot·后端
xinyu_Jina4 小时前
Info Flow:去中心化数据流、跨协议标准化与信息源权重算法
算法·去中心化·区块链
Jac_kie_層樓4 小时前
力扣hot100刷题记录(12.2)
算法·leetcode·职场和发展
旷野说4 小时前
为什么 MyBatis 原生二级缓存“难以修复”?
java·java-ee·mybatis