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