首页 > 试题广场 >

在一个长度为n的数组里的所有数字都在0到n-1的范围内。

[问答题]
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。
public int check(int[] values){
    Set checkSet=new HashSet();
    for(int value:values){
        boolean flag=checkSet.add(value);
        if(!flag){
            return value;
        }
    }
}

发表于 2020-11-08 13:47:27 回复(0)
不知道对不对 emmmmmmmmmmm
public static int findnum(int a[]) {
        
        if (a.length==0||a==null) {
            return -1;
        }
        int i=0,j=0;
        int a1=0,a2=0;
        int width=0;
        int minwid=a.length+1;
        int kk=a.length;
        for (i=0;i<a.length;i++) {
            for (j=i+1;j<kk;j++) {
                if(a[i]==a[j]) {
                    width = j-i;
                    if(minwid>width) {
                        minwid=width;
                        a1=i;
                        a2=j;
                        if (kk>j) {
                            kk=j;
                        }        
                    }
                }
            }
        }
        
        
        return a[a1];
        
    }
发表于 2020-10-15 19:17:26 回复(0)