题目
思路
使用map,用key存储出现的数字,并把对应的value设置为true,每次读取数组时都查看map中是否存在,如果存在就返回true否则就返回false。
代码
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static boolean findMore(int[] arr) {
//不同的数字放入map最为key
HashMap<Integer, Boolean> map = new HashMap<>();
for (int i = 0, len = arr.length; i < len; i++) {
//判断数字是否已经添加到map中了,如果已经添加进去了就返回true
if (map.containsKey(arr[i])) {
return true;
} else {
//没有添加进去,就添加进去
map.put((arr[i]), true);
}
}
return false;
}
public static void main(String[] args) {
System.out.print("请输入个数:");
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
int[] nums = new int[num];
System.out.println("数字:");
for (int i = 0; i < num; i++) {
nums[i] = scanner.nextInt();
}
System.out.println(findMore(nums));
}
}