Single Number II
Given an array of integers, every element appears three times 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 import java.util.HashMap; 2 public class Solution { 3 public int singleNumber(int[] A) { 4 HashMap<Integer, Integer> hashMap = new HashMap<Integer, Integer>(); 5 6 for(int i = 0; i < A.length; i++){ 7 Integer temp = hashMap.get(A[i]); 8 if(null == temp) 9 hashMap.put(A[i], 1); 10 else if(1 == temp) 11 hashMap.put(A[i], 2); 12 else 13 hashMap.put(A[i], 3); 14 } 15 for(int i = 0; i < A.length; i++){ 16 Integer temp = hashMap.get(A[i]); 17 if(temp == 1) 18 return A[i]; 19 } 20 return 0; 21 } 22 }