题解 | #数组中重复的数字#

数组中重复的数字

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;
            }

        }

    }

}

全部评论

相关推荐

点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
今天 19:36
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务