题目来源:
leetcode题目,网址:1608. 特殊数组的特征值 - 力扣(LeetCode)
解题思路:
新建一个长度为 1001 的数组,其中保存原数组中大于等于 i 的数字个数。遍历原数组后遍历新数组求解即可。
解题代码:
class Solution {
public int specialArray(int[] nums) {
int[] count=new int[1001];
for(int num:nums){
for(int i=1;i<=num;i++)
count[i]++;
}
for(int i=1;i<1001;i++){
if(count[i]==i){
return i;
}
}
return -1;
}
}
总结:
官方题解是先将其降序排序,然后遍历查看其中是否有 i 使得 num[i-1]>=i && nums[i]<i。