力扣热题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;
    }
}
相关推荐
ID_180079054732 小时前
小红书笔记详情API接口基础解析:数据结构与调用方式
数据结构·数据库·笔记
千金裘换酒7 小时前
LeetCode 移动零元素 快慢指针
算法·leetcode·职场和发展
wm10438 小时前
机器学习第二讲 KNN算法
人工智能·算法·机器学习
NAGNIP8 小时前
一文搞懂机器学习线性代数基础知识!
算法
NAGNIP8 小时前
机器学习入门概述一览
算法
iuu_star8 小时前
C语言数据结构-顺序查找、折半查找
c语言·数据结构·算法
Yzzz-F8 小时前
P1558 色板游戏 [线段树 + 二进制状态压缩 + 懒标记区间重置]
算法
漫随流水9 小时前
leetcode算法(515.在每个树行中找最大值)
数据结构·算法·leetcode·二叉树
mit6.8249 小时前
dfs|前后缀分解
算法
扫地的小何尚9 小时前
NVIDIA RTX PC开源AI工具升级:加速LLM和扩散模型的性能革命
人工智能·python·算法·开源·nvidia·1024程序员节