LeetCode[136] Single Number 位运算异或,HashMap(Java)
2015-05-29 10:28
501 查看
Problem:
Given an array of integers, every element appears twice except for one. Find that single one.Thought1:
The standard key to solve this problem is bit manipulation. As XOR will return 1 only when two bits are different, so if two numbers are the same, XOR will return 0. Thus the last remaining number will be the single one.
Java Solution1
public class SingleNumber { // method 1:Bit manipulation: XOR public int singleNumber(int[] nums) { int result = nums[0]; for (int i = 1; i < nums.length; i++) { result = result ^ nums[i]; } return result; }
Thought2:
Since the hint tags show that one of the ways to solve this problem is to utilize the HashTable(HasnMap in Java), so I have also tried this one.
Java Solution2
// method 2: HashMap public int singleNumberHashMap(int[] nums) { Map<Integer, Integer> map = new HashMap<Integer, Integer>(); for (int i = 0; i < nums.length; i++) { if (map.containsKey(nums[i])) { map.remove(nums[i]); } else { map.put(nums[i], i); } } // System.out.println(map.entrySet()); for(Map.Entry<Integer, Integer> m : map.entrySet()){ return m.getKey(); } return 0; }
Online Judge: Single Number
If you have any questions or any bugs are found, please feel free to contact me.Your comments and suggestions are welcome!
相关文章推荐
- Spring @Transactional
- struts2遍历map
- Spring AOP 实现原理与 CGLIB 应用
- Spring+CXF整合
- 深入Java核心 Java内存分配原理精讲
- java中CyclicBarrier的简单用法
- spring整合JMS(三)
- Solve the problem of "Java: illegal start of expression"
- spring整合JMS(二)
- spring整合JMS(一)
- 最近开始研究PMD(一款采用BSD协议发布的Java程序代码检查工具)
- JAVA实现AES加密
- JOIN US框架-4(spring mvc 怎么用的1?)
- 最近开始研究PMD(一款采用BSD协议发布的Java程序代码检查工具)
- Eclipse中查看Android模拟器SD卡目录
- Eclipse字体修改设置
- Java编程思想之-主板设计
- win7 eclipse 字体设置
- 有jar包依然报java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest
- Struts2的结果集的详细介绍及说明案例分析