首页 > 代码库 > Single Number II

Single Number II

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             else13                 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 }

 

Single Number II