给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。
你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。
用Map做。
HashMap遍历:
for(Map.Entry<Integer, Integer> entry:map.entrySet()){
if(entry.getValue() == 1) {
ans = entry.getValue();
}
}
class Solution {
public int singleNumber(int[] nums) {
int ans = 0;
Map<Integer, Integer> map = new HashMap();
for(int num:nums) {
map.put(num, map.getOrDefault(num, 0)+1);
}
for(Map.Entry<Integer, Integer> entry : map.entrySet()) {
if(entry.getValue() == 1) {
ans = entry.getKey();
}
}
return ans;
}
}