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

 

posted on 2014-11-25 15:31  luckygxf  阅读(129)  评论(0编辑  收藏  举报

导航