解题思路
利用Hash表统计每个数出现的次数,如果次数为3就从map中remove这个值,直到最后剩下的就是唯一值
代码
class Solution {
public int singleNumber(int[] nums) {
Map<Integer,Integer> map = new HashMap<>();
for(int i=0;i<nums.length;i++){
if(!map.containsKey(nums[i])) {
map.put(nums[i],1);
}
else{
map.put(nums[i],map.get(nums[i])+1);
if(map.get(nums[i])==3) map.remove(nums[i]);
}
}
Set<Integer> set = map.keySet();
int ans = 0;
for(Integer num:set){
ans = num;
}
return ans;
}
}