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

说明:

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

示例 1:

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

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

思路:拿map,set,都不符合要求。

map:

class Solution {public int singleNumber(int[] nums) {Map<Integer, Integer> map = new HashMap<>();for (Integer i : nums) {Integer count = map.get(i);count = count == null ? 1 : ++count;map.put(i, count);}for (Integer i : map.keySet()) {Integer count = map.get(i);if (count == 1) {return i;}}return -1; // can't find it.}
}

我们知道什么数字和自己异或,都等于0.

什么数字和0异或,都等于它本身。

所以全部异或一遍,答案就是那个出现一次的数字。

class Solution {public int singleNumber(int[] nums) {int ans = 0;for(int i :nums)ans ^= i;return ans;}
}

leetcode136 只出现一次的数字相关推荐

  1. leetcode-136. 只出现一次的数字解法

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

  2. C练题笔记之:Leetcode-136. 只出现一次的数字

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

  3. Leetcode-136. 只出现一次的数字(python3)

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

  4. Leetcode--136. 只出现一次的数字

    给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置. 你的算法时间复杂度必须是 O(log n) 级别. 如果数组中不存在目标值,返回 [ ...

  5. LeetCode-136. 只出现一次的数字(java)

    一.前言:

  6. 【leetcode】只出现一次的数字(位运算)

    LeetCode136:只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 解题思路: 这里可以使用异或运算.即两个相同的数字异或 ...

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

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

  8. 算法题:“找出单身狗”--找出一个数组中只出现一次的数字

    题目:一个数组中只有两个数字是出现一次,其他所有数字都出现了两次. 编写一个函数找出这两个只出现一次的数字. 解题过程以及思路:(思路在代码中以注释形式给出) //一个数组中只有两个数字是出现一次,其 ...

  9. 剑指offer:数组中只出现一次的数字

    题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 解题思路 用容器存次数. class Solution { public:void FindNu ...

最新文章

  1. [YTU]_2769( 结构体--成绩统计)
  2. java class类文件结构
  3. linux ubuntu/deepin与Windows时间不同步解决办法(双系统)
  4. 贝叶斯算法对文本进行分类实例
  5. java 防渗透_「java、工程师工作经验怎么写」-看准网
  6. 论文浅尝 | 用可微的逻辑规则学习完成知识库推理
  7. 几张一模一样的照片_两张一模一样的照片看起来却不一样!什么鬼?
  8. 劳荣枝潜逃 23 年落网,多亏了它!
  9. 9102年,曝光这几个高质量的公众号,年薪7位数!
  10. 深入理解strcpy,strncpy
  11. SublimeLinter 3中使用jshint
  12. !!obj与JavaScript中!!的作用
  13. 云计算是什么?云计算的发展趋势是什么?
  14. win7触摸板怎么关闭_笔记本触控板怎么关闭 笔记本触控板关闭方法【详解】
  15. 2020图灵奖颁给“龙书”两位作者!合作数十年,他们让计算机读懂码农代码
  16. Biological Psychiatry:亚属连接预测经颅磁刺激位点抗抑郁疗效
  17. 感觉编程还是需要逐渐熟练的技术工种吧,分几个维度来描述。
  18. win7 电脑MAC地址修改
  19. VFP开发微信、支付宝扫码支付
  20. Laravel Excel实现Excel/CSV文件导入导出的功能详解(合并单元格,设置单元格样式)

热门文章

  1. Linux logo和屏幕光标
  2. 【转】深度理解C# 的执行原理
  3. 【转】3.1(译)构建Async同步基元,Part 1 AsyncManualResetEvent
  4. 谈谈你对闭包的理解?
  5. 15原型模式(Prototype)
  6. eclipse java maven_java – 非常轻量级的Eclipse-Maven集成 – 仅...
  7. QSplitter设置宽高比例的正确方法
  8. 记录一次SQL优化,增加索引,随便写的当笔记了
  9. 【HDU - 2444】The Accomodation of Students(二分图判断 + 匈牙利算法求最大匹配)
  10. 呆在实验室到深夜的小随笔