用java找出数组中第一个重复的数字
时间: 2023-09-01 11:07:30 浏览: 80
Java如何找出数组中重复的数字
可以使用哈希表来解决这个问题。具体步骤如下:
1. 创建一个哈希表,用于记录每个数字是否出现过。
2. 遍历数组中的每个数字,判断该数字是否在哈希表中出现过。
3. 如果该数字已经在哈希表中出现过,则说明它是第一个重复的数字,直接返回。
4. 如果该数字没有出现过,则将它加入哈希表中。
5. 如果遍历完数组,都没有找到重复的数字,则返回-1表示没有重复数字。
下面是Java代码实现:
```java
public static int findFirstDuplicate(int[] nums) {
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
for (int i = 0; i < nums.length; i++) {
if (map.containsKey(nums[i])) {
return nums[i];
} else {
map.put(nums[i], 1);
}
}
return -1;
}
```
该方法的时间复杂度为O(n),空间复杂度为O(n)。
阅读全文