高贵整数 (Java)

问题描述 投票:0回答:1

给定一个整数数组 A,查找数组中是否存在整数 p,使得数组中大于 p 的整数个数等于 p。如果存在任何这样的整数 p,则返回 1,否则返回 -1。

我尝试过,但这只通过了一些测试用例..

public class Solution {
    public int solve(int[] A) {
        Arrays.sort(A);
        int [] newarr = new int [A.length];
        for (int i = A.length -1 ; i >=0 ; i--){
            newarr[A.length-1-i]=A[i];
        }
        for (int i = 0 ; i < A.length ; i++){
            if (newarr[i]==i){
                return 1;
            }
        }
        return -1;
    }
}

java sorting
1个回答
0
投票

因此,查看您的代码,我可以看到您正在对数组进行排序,然后检查数组的索引是否等于元素本身。这并不适用于所有情况,因为它不能确保数组中大于 p 的整数数量等于 p。

© www.soinside.com 2019 - 2024. All rights reserved.