请用java语言实现
时间: 2023-07-07 07:18:01 浏览: 77
以下是使用Java语言实现上述算法的代码:
```java
import java.util.HashMap;
public class FindDuplicate {
public static int findDuplicate(int[] nums) {
HashMap<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
if (map.containsKey(nums[i])) {
return nums[i];
} else {
map.put(nums[i], 1);
}
}
return -1; // 如果没有找到重复数,则返回-1或其他指定的值
}
public static void main(String[] args) {
int[] nums = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 99}; // 测试用例
int duplicate = findDuplicate(nums);
System.out.println("重复的数是:" + duplicate);
}
}
```
在上述代码中,我们首先定义了一个`findDuplicate`方法,该方法接收一个整型数组作为输入,返回重复的数。在方法中,我们使用了一个`HashMap`来保存出现过的数,对于数组中的每个数,如果该数已经在`HashMap`中出现过,则直接返回该数,否则将该数加入`HashMap`中。如果遍历完数组后仍然没有找到重复的数,则返回-1。
在`main`方法中,我们定义了一个长度为100的数组作为测试用例,调用`findDuplicate`方法并输出找到的重复数。
阅读全文