题解 | #数组中重复的数字#
数组中重复的数字
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;
}
}
}
}
快手成长空间 763人发布

查看20道真题和解析