只出现一次的数字哈希表法java
时间: 2023-11-10 17:32:24 浏览: 40
在Java中,我们可以使用哈希表(HashMap)来实现只出现一次的数字的查找。具体实现如下:
```java
import java.util.HashMap;
public class Solution {
public int singleNumber(int[] nums) {
// 创建一个哈希表
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
// 遍历数组中的每个数字
for (int i = 0; i < nums.length; i++) {
// 如果哈希表中已经存在该数字
if (map.containsKey(nums[i])) {
// 将该数字在哈希表中的值加1
map.put(nums[i], map.get(nums[i]) + 1);
} else {
// 如果哈希表中不存在该数字,则将该数字加入哈希表中,并将其值设置为1
map.put(nums[i], 1);
}
}
// 遍历哈希表,找到值为1的那个数字
for (int key : map.keySet()) {
if (map.get(key) == 1) {
return key;
}
}
return -1;
}
}
```
以上代码中,我们首先创建了一个哈希表,并遍历数组中的每个数字,将其加入哈希表中。如果哈希表中已经存在该数字,则将其在哈希表中的值加1;否则,将其加入哈希表中,并将其值设置为1。最后,我们再次遍历哈希表,找到值为1的那个数字并返回即可。