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

说明:

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

示例 1:

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

示例 2:

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

func singleNumber(nums []int) int {single := 0for _, num := range nums {single ^= num}return single
}

对于任何数a,a^0 = a,a^a = 0,而且异或满足交换律。数组中只有1个数只出现1次,那剩下数组中的出现2次的数全部异或的结果的为0,然后这个0和剩下出现1次的数异或刚好是这个数,则直接异或数组的每个数就是结果。

参考地址:https://leetcode-cn.com/problems/single-number/solution/zhi-chu-xian-yi-ci-de-shu-zi-by-leetcode-solution/

经典的异或题:只出现一次的数字相关推荐

  1. [Leedcode][JAVA][第136题][第137题][只出现一次的数字][位运算][HashSet][HashMap]

    [问题描述][第136,137题][只出现一次的数字] 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了N次.找出那个只出现了一次的元素.[第136题]N= 2 输入: [2,2 ...

  2. 《LeetCode力扣练习》第136题 只出现一次的数字 Java

    <LeetCode力扣练习>第136题 只出现一次的数字 Java 一.资源 题目: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. ...

  3. Leetcode题库 136.只出现一次的数字(异或 C实现)

    文章目录 思路 代码 思路 两相同数字异或时为0, 将数组中数字挨个儿异或, 最后仅会剩下那个只出现一次的数字 代码 int singleNumber(int* nums, int numsSize) ...

  4. 136. 只出现一次的数字(关于异或的使用)

    136. 只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现 ...

  5. 程序员面试题精选100题(34)-数组中只出现一次的数字[算法]

    题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度是O(n),空间复杂度是O(1). 分析:这是一道很新颖的关于位运算的面试题. 首先我们 ...

  6. 牛客题霸 [数组中只出现一次的数字] C++题解/答案

    牛客题霸 [数组中只出现一次的数字] C++题解/答案 题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 题解: 用map来记录每个数字出现几次, ...

  7. 位运算在一类数组题中的用法 只出现一次的数字I

    文章目录 前言 复习 一:只出现一次的数字I 二:只出现一次的数字II 二:只出现一次的数字III 前言 LeetCode上有几道题特别相似,分别是leetcode 136只出现一次的数(简单),13 ...

  8. LeetCode刷题:位运算(找不同 和 只出现一次的数字)

    1.常见的位运算 按位与&:(1&1=1,1&0=0,0&1=0,0&0=0); 按位或 | : (1 | 1=1,1 | 0=1,0 | 1=1,0 | 0= ...

  9. 2018年LeetCode高频算法面试题刷题笔记——只出现一次的数字(开始之前)

    1.解答前的碎碎念: 这个系列是写给找工作前的我看的,毕竟作为一个记性很差的人,可能过一段时间又忘了怎么写了...然后作为开胃菜的第一题就没有思路,真的是让人非常有挫败感了... 2.问题描述: 给定 ...

最新文章

  1. 成都东软学院计算机科学与技术系,成都东软学院计算机科学与技术系毕业设计(论文)工作实施细则成都东软学院计算机科学与技术系毕业设计(论文)工作实施细则.doc...
  2. vaadin 10+_Vaadin 10+作为CUBA UI的未来
  3. pycharm启动后一直在updating indices
  4. 第一次搭建vue项目--添加依赖包、启动项目
  5. Mysql字符串连接
  6. 7. Shell 脚本编写
  7. 【阿圆总结】关于平时阅读的推荐
  8. Python把多行文本合并
  9. fx系列微型可编程控制器 通信_西门子系列资料(64本电子书+PLC视频+软件),整理了很久...
  10. wowza流媒体服务器最详细教程-wowza安装配置及优化
  11. 学习weka(1):weka软件安装使用教程
  12. 微星 B450M MORTAR 盲刷BIOS
  13. 域名与服务器如何绑定?
  14. 弘辽科技:限制店铺流量上涨的七大因素(下篇)
  15. 编程语言培训学哪个?
  16. (17)打鸡儿教你Vue.js
  17. 旅行商问题在现代物流中的意义
  18. 前百度总裁陆奇:我给有梦想的年轻人9点建议
  19. 【转帖】dicom学习笔记
  20. React 性能优化完全指南,将自己这几年的心血总结成这篇!

热门文章

  1. MySQL 搜索指定时间范围数据, 时间字段有索引但是还是很费时
  2. linux 下mongo 基础配置
  3. 实验四+149+肖雷
  4. 块级格式化上下文(Block Formatting Context)
  5. 数字数据fzu 2120 数字排列
  6. 无标题窗体的移动及其简单美化
  7. c# response输出文件实例(14)
  8. CCF CSP201709-1打酱油
  9. Selenium最全超时等待问题的处理方案
  10. 学习 Spring (十三) AOP 配置