Use Map
public class Solution {
public int singleNumber(int[] nums) {
Map<Integer,Integer> map = new HashMap<Integer,Integer>();
int len = nums.length;
int ans = 0;
for (int i = 0; i < len; i++){
int count = 1;
if (!map.containsKey(nums[i])) {
map.put(nums[i], count);
}
else map.put(nums[i], (map.get(nums[i]) + 1));
}
for (Map.Entry<Integer,Integer> entry : map.entrySet()){
Integer k = entry.getValue();
if (k != 3) {
ans = entry.getKey();
break;
}
}
return ans;
}
}
It contains the for loop. Map.Entry<Integer,Integer> make the traversal.