题目描述
在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。
解题思路
- 使用HashMap统计每个数出现的次数,然后遍历,得出值为1的key。
class Solution {
public int singleNumber(int[] nums) {
final HashMap<Integer, Integer> map = new HashMap<>();
for (int number : nums) {
if (!map.containsKey(number)) {
map.put(number, 1);
} else {
map.put(number, map.get(number) + 1);
}
}
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
if (entry.getValue() == 1) {
return entry.getValue();
}
}
return -1;
}
}
很显然我比较菜
网友评论