Leetcode-136:Single Number
2016-04-15 23:37
295 查看
[title3]
[Single Number][/title3]
Given an 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
[思路] 1.哈希表:创建一个HashMap,key值为数组元素,value值为出现次数,for循环,若未出现在哈希表中,将此元素put,反之,则remove,最后哈希表中 只剩下出现一次的元素;
2.异或:出现两次的元素都抵消了,只剩下出现一次的元素。
//HashTable public static int singleNumber(int[] nums) { Map<Integer, Integer> map = new HashMap<Integer, Integer>(); for (int i =0; i < nums.length; i++) { if (!map.containsKey(nums[i])) { map.put(nums[i], 1); } else { map.remove(nums[i]); } } for (int i = 0; i < nums.length; i++) { if (map.containsKey(nums[i])) { return nums[i]; } } return 0; }
//异或 public static int singleNumber(int[] nums) { int res = 0; for (int i = 0; i < nums.length; i++) { res = res ^ nums[i]; } return res; }
相关文章推荐
- 杭电2187
- 【码上杂谈】关于之前对Server上允许的最大TCP连接数理解错误的更正
- React-Native系列Android——Native与Javascript通信原理(二)
- 基础 2016.4.16
- poj 2082 Terrible Sets
- compoer安装
- 三栏布局的实现
- 【Leetcode】1.Two Sum 解题
- Leetcode题解 70. Climbing Stairs
- python 类属性
- librbd代码目录解读
- Cordova(Phonegap)在iOS端App的使用(二)---插件的创建
- Android Studio 错误 Duplicate files copied in APK META-INF/LICENSE.txt
- 探究printf
- 杭电1907
- Flume:本地文件到HDFS
- c#复制包含子目录文件夹代码
- 软件工程个人作业05
- fastDFS+nginx配置
- 4.Reverse Words in a String-Leetcode