题目:给你一个整数数组 nums
,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。
思路: 哈希表可以存储K-V结构 而题目中有两个元素分别是数字num与出现次数count,所以可以用哈希表的K来存储数组num,V来存储数字出现的次数Count,最后通过遍历哈希表,查看V的值为1所对应的K就是我们需要求出的元素。
代码:
public int singleNumber(int[] nums) {
Map<Integer, Integer> map = new HashMap<>();
for (int num : nums) {
map.put(num, map.getOrDefault(num, 0) + 1);
}
int result = 0;
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
int key = entry.getKey();
int value = entry.getValue();
if (value == 1) {
result = key;
}
}
return result;
}