LeetCode 1608 特殊数组的特征值[排序] HERODING的LeetCode之路

Posted HERODING23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 1608 特殊数组的特征值[排序] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。


解题思路:
首先将数组从小到大排序(从大到小更轻松),接着从后往前遍历,判断每个位置的数是否大于等于当前遍历的长度,并且下一个数就小于当前的长度,这样就找到了特殊数组,否则返回-1,代码如下:

class Solution 
public:
    int specialArray(vector<int>& nums) 
        sort(nums.begin(), nums.end());
        int n = nums.size();
        for(int i = n - 1; i >= 0; i --) 
            if(nums[i] >= n - i && (i == 0 || nums[i - 1] < n - i)) 
                return n - i;
            
        
        return -1;
    
;

以上是关于LeetCode 1608 特殊数组的特征值[排序] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章

[JavaScript 刷题] 特殊数组的特征值, leetcode 1608

[JavaScript 刷题] 特殊数组的特征值, leetcode 1608

每日一题1608. 特殊数组的特征值

「 每日一练,快乐水题 」1608. 特殊数组的特征值

「 每日一练,快乐水题 」1608. 特殊数组的特征值

「 每日一练,快乐水题 」1608. 特殊数组的特征值