题解 | #数组中重复的数字#
数组中重复的数字
https://www.nowcoder.com/practice/6fe361ede7e54db1b84adc81d09d8524
import java.util.Arrays; public class Solution { public static int duplicate(int[] numbers) { int n = numbers.length;//数组长度 int[] flag = new int[100000]; int maxNum=0;//重复出现的次数 int maxIndex=0;//重复出现的位置 if (n <= 0 || numbers == null) { return -1; } else { for (int i = 0; i <= n - 1; i++) { for (int j = 0; j <=i; j++) { if (numbers[i] == numbers[j]) { flag[i]++; } } }//首先,记录每个位置的数字重复出现的次数 for(int i=0;i<n;i++){ if(flag[i]>maxNum){ maxNum=flag[i]; maxIndex=i; } }//比较出现次数的大小,找出重复次数最多的位置 if(maxNum>1){ return numbers[maxIndex]; } else{ return -1; } } } }