首页 > 代码库 > [LeetCode]136 Single Number
[LeetCode]136 Single Number
https://oj.leetcode.com/problems/single-number/
http://blog.csdn.net/linhuanmars/article/details/22648829
public class Solution { public int singleNumber(int[] A) { // Solution A // return singleNum_Xor(A); // Solution B return singleNum_BitCompare(A); // Solution C // return singleNum_Map(A); } /////////////////////// // Solution A: Xor // private int singleNum_Xor(int[] A) { int toReturn = 0; for (int i : A) { toReturn = toReturn ^ i; } return toReturn; } /////////////////////// // Solution A: BitCompare // private int singleNum_BitCompare(int[] A) { int toReturn = 0; for (int d = 0 ; d < 32 ; d ++) { int toCompare = 1 << d; int occr = 0; for (int i : A) { if ((i & toCompare) != 0) { occr++; } } if (occr % 2 == 1) { toReturn |= toCompare; } } return toReturn; } /////////////////////// // Solution A: Map // private int singleNum_Map(int[] A) { Map<Integer, Integer> map = new HashMap<>(); for (int i : A) { Integer occr = map.get(i); if (occr == null) occr = 0; occr ++; map.put(i, occr); } for (Map.Entry<Integer, Integer> entry : map.entrySet()) { if (entry.getValue() == 1) return entry.getKey(); } return -1; } }
[LeetCode]136 Single Number
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。