给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

说明:

你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

示例 1:

输入: [2,2,1]
输出: 1

示例 2:

输入: [4,1,2,1,2]
输出: 4 利用异或运算符
  1. 交换律:a ^ b ^ c <=> a ^ c ^ b

  2. 任何数于0异或为任何数 0 ^ n => n

  3. 相同的数异或为0: n ^ n => 0

   异或:相同为0,不同为1. 异或同一个数两次,原数不变。

let result = 0;
for(var i = 0; i< arr.length; i++){
  result ^=arr[i]
}
console.log(result)

最新文章

  1. String类常用方法小节
  2. 关于CSS中text-decoration值没有替换而是累积的疑问
  3. WebStorm 11激活方法
  4. 【代码笔记】iOS-iCarouselDemo
  5. .NET业务实体类验证组件Fluent Validation
  6. check if a linux process is done using bash 检查进程是否在运行
  7. EASYUI+MVC4通用权限管理平台--前言
  8. 20141017--循环语句for 穷举
  9. 《cracking the coding intreview》——链表
  10. W: 无法下载 bzip2:/var/lib/apt/lists/partial/extras.ubuntu.com_ubuntu_dists_trusty_main_source_Sources
  11. requests之一:HTTP OAUTH认证(1)图形解释流程
  12. LCS问题(最长公共子序列)-动态规划实现
  13. Matplotlib学习---用mplot3d画莫比乌斯环(Mobius strip)
  14. TZOJ 1693 Silver Cow Party(最短路+思维)
  15. linux分区划分
  16. [JavaScript] 根据指定宽度截取字符串
  17. 蜗牛慢慢爬 LeetCode 22. Generate Parentheses [Difficulty: Medium]
  18. POj 1753--Flip Game(位运算+BFS)
  19. makefile--参数传递、条件判断、include (五)
  20. Python并发编程-进程间数据共享

热门文章

  1. Python的线程池
  2. SmartSql Map
  3. 基于Azkaban的任务定时调度实践
  4. [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(一)
  5. .NET Core和.NET Standard有什么不同
  6. Linux下安装使用Redis
  7. JavaScript是如何工作的:引擎,运行时和调用堆栈的概述!
  8. Python笔记-高级特性
  9. linux添加crontab定时任务
  10. 使用 prismjs 在网页中高亮显示代码