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 }
原文地址:https://www.cnblogs.com/luckygxf/p/4121152.html