[Algorithm] 136. Single Number

Given a non-empty array of integers, every element appears twice except for one. Find that single one.

Note:

Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

Example 1:

Input: [2,2,1]
Output: 1

Example 2:

Input: [4,1,2,1,2]
Output: 4

 

var singleNumber = function(nums) {
    let res = 0;
    for (let i = 0; i < nums.length; i++) {
        res = res ^ nums[i]
    }
    return res;
};

 

It uses XOR: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators#Bitwise_XOR

For example, 4 ^ 2

4: 0100

2: 0010

XOR

   0110 => 6

But 

2: 0010

2: 0010

XOR

   0000 => 0

posted @   Zhentiw  阅读(104)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2018-12-04 [CSS3] Target HTML Elements not Explicitly set in the DOM with CSS Pseudo Elements (Blockquotes)
2018-12-04 [CSS3] Define Form Element States with CSS Form Pseudo Classes
2018-12-04 [CSS3] Identify Interactive HTML Elements with CSS Link Pseudo Classes
2014-12-04 [Express] Level 5: Route Instance -- refactor the code
2014-12-04 [Express] Level 4: Body-parser -- Delete
2014-12-04 [Express] Level 4: Body-parser -- Post
2014-12-04 [Express] Level 3: Massaging User Data
点击右上角即可分享
微信分享提示