【陣列】1608. 特殊陣列的特徵值(簡單)
【題目】
給你一個非負整數陣列 nums 。如果存在一個數 x ,使得 nums 中恰好有 x 個元素 大於或者等於 x ,那麼就稱 nums 是一個 特殊陣列 ,而 x 是該陣列的 特徵值 。注意: x 不必 是 nums 的中的元素。如果陣列 nums 是一個 特殊陣列 ,請返回它的特徵值 x 。否則,返回 -1 。可以證明的是,如果 nums 是特殊陣列,那麼其特徵值 x 是 唯一的 。
【示例 1】
輸入:nums = [3,5]
輸出:2
解釋:有 2 個元素(3 和 5)大於或等於 2 。
【示例 2】
輸入:nums = [0,0]
輸出:-1
解釋:沒有滿足題目要求的特殊陣列,故而也不存在特徵值 x 。
如果 x = 0,應該有 0 個元素 >= x,但實際有 2 個。
如果 x = 1,應該有 1 個元素 >= x,但實際有 0 個。
如果 x = 2,應該有 2 個元素 >= x,但實際有 0 個。
x 不能取更大的值,因為 nums 中只有兩個元素。
【示例 3】
輸入:nums = [0,4,3,0,4]
輸出:3
解釋:有 3 個元素大於或等於 3 。
【示例 4】
輸入:nums = [3,6,7,7,0]
輸出:-1
【提示】
1 <= nums.length <= 100
0 <= nums[i] <= 1000
【程式碼】
class Solution {
public:
int hashnum[1001]={0};
int specialArray(vector<int>& nums) {
int len=nums.size(),cnt=0,pre=0;
for(auto x:nums)
hashnum[x]++;
pre=hashnum[1000];
for(int i=999;i>=0;i--)
hashnum[i]+=hashnum[i+1];
for(int i=0;i<=1000;i++){
if(i==hashnum[i])
return i;
}
return -1;
}
};
相關文章
- [求解]陣列,分成倆個陣列,陣列值之和的相差最小。陣列
- 【陣列】1394. 找出陣列中的幸運數(簡單)陣列
- Numpy 陣列簡單操作陣列
- JS 中特殊的物件-陣列JS物件陣列
- C語言 簡單的佇列(陣列佇列)C語言佇列陣列
- 陣列賦值陣列賦值
- 構建最簡單陣列陣列
- php 迴圈陣列引用傳值改變陣列本身的值PHP陣列
- 簡單介紹Lua一維陣列與多維陣列的使用陣列
- 【陣列】1550. 存在連續三個奇數的陣列(簡單)陣列
- 陣列常用方法的簡單封裝陣列封裝
- JS陣列遍歷和獲取陣列最值JS陣列
- javascript陣列操作簡單介紹JavaScript陣列
- JavaScript清空陣列元素簡單方法JavaScript陣列
- JavaScript陣列api簡單說明JavaScript陣列API
- 將一個陣列賦值給另外一個陣列陣列賦值
- javascript陣列如何刪除所有的指定值陣列項JavaScript陣列
- 陣列1——求一個陣列的最大子陣列陣列
- 去除陣列中的 null 值陣列Null
- JS 兩組陣列取不同值組成新陣列的方法JS陣列
- js如何獲取指定陣列元素在陣列中的索引值JS陣列索引
- iOS遍歷陣列相同值元素到另一陣列中同一物件的子陣列iOS陣列物件
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- JavaScript 陣列最大值JavaScript陣列
- C 陣列最大值陣列
- Javascript - 陣列和陣列的方法JavaScript陣列
- javascript關聯陣列簡單介紹JavaScript陣列
- 簡單描述VB.NET申明陣列陣列
- 陣列--移除陣列中指定的元素,不改變原陣列和改變原陣列陣列
- Leetcode 陣列中和為給定值的最長子陣列LeetCode陣列
- 二維陣列按照其內層陣列的某個鍵值排序陣列排序
- 陣列的七個 API 的簡單實現陣列API
- (C語言)簡單明瞭的 陣列模擬棧+ (C++)陣列模擬棧C語言陣列C++
- c#簡單實現二維陣列和二維陣列列表List<>的轉置C#陣列
- 陣列,陣列類,SyStem類陣列
- 陣列結構之陣列陣列
- 移除陣列 arr 中的所有值與 item 相等的元素。不要直接修改陣列 arr,結果返回新的陣列陣列
- IOS幾種簡單有效的陣列排序方法iOS陣列排序