LeetCode Single Number
来源:互联网 发布:电力工程结算软件 编辑:程序博客网 时间:2024/06/18 12:26
原题链接在这里:https://leetcode.com/problems/single-number/
首先会想到HashMap,HashSet的想法,但会用到extra O(n) space.
所以就要用到bit manipulation,这里和Single Number II非常相似,就不复述了。
但这里有个更快的方法,就是用异或 ^ operator. 异或 every number in the array and the result would be the single number.
Note:1. 函数返回的是int,corner case 不能返回null,否则会报错。
2. 在写嵌套循环时,注意不要搞混 i , j 的含义。
AC Java:
public class Solution { public int singleNumber(int[] nums) { /*Method 1 if(nums == null || nums.length == 0) return Integer.MIN_VALUE; HashSet hs = new HashSet(); for(int i = 0; i < nums.length; i++){ if(!hs.contains(nums[i])){ hs.add(nums[i]); }else{ hs.remove(nums[i]); } } Iterator it = hs.iterator(); int res = Integer.MIN_VALUE; while(it.hasNext()){ res = (int)it.next(); } return res; */ /*Method 2 if(nums == null || nums.length == 0) return Integer.MIN_VALUE; int [] bitCounter = new int[32]; for(int i = 0; i<32; i++){ for(int j = 0; j<nums.length; j++){ bitCounter[i] += (nums[j]>>i&1); //error } } int res = 0; for(int i = 0; i<32; i++){ res += (bitCounter[i]%2)<<i; } return res; */ //Method 3 if(nums == null || nums.length == 0) return Integer.MIN_VALUE; int res = 0; for(int j = 0; j < nums.length; j++){ res = res ^ nums[j]; } return res; }}
0 0
- leetcode Single Number & Single Number ||
- [LeetCode] Single Number
- Leetcode: Single Number
- Leetcode Single Number
- Single Number - leetcode
- Single Number II - leetcode
- Leetcode: Single Number II
- 【LeetCode】Single Number
- [LeetCode] Single Number II
- LeetCode: Single Number II
- LeetCode: Single Number
- leetcode -- Single Number II
- [leetcode]Single Number II
- [LeetCode] Single Number II
- [LeetCode]Single Number
- Leetcode Single Number
- 【leetcode】Single Number
- 【leetcode】Single Number II
- Jvm基本概念
- 南邮 OJ 1508 Lithium去自习2:赶时间
- ZooKeeper的部署和测试
- CoreData基础
- poj 2823 Sliding Window 【固定区间长度的RMQ】 【二维压缩成一维】
- LeetCode Single Number
- 南邮 OJ 1510 和MM逛南邮
- codeforces 229D Towers DP
- Maven插件开发
- UISwitch
- fileUpload文件上传
- MongoDB集群——分片
- 深入Python(3): and、or以及and-or
- 天合汽车安全技术(张家港)有限公司