【陣列】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. 找出陣列中的幸運數(簡單)陣列
- JS 中特殊的物件-陣列JS物件陣列
- 構建最簡單陣列陣列
- 【陣列】1550. 存在連續三個奇數的陣列(簡單)陣列
- 簡單介紹Lua一維陣列與多維陣列的使用陣列
- php 迴圈陣列引用傳值改變陣列本身的值PHP陣列
- 陣列常用方法的簡單封裝陣列封裝
- JS陣列遍歷和獲取陣列最值JS陣列
- Leetcode 陣列中和為給定值的最長子陣列LeetCode陣列
- 去除陣列中的 null 值陣列Null
- JS 兩組陣列取不同值組成新陣列的方法JS陣列
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- Javascript - 陣列和陣列的方法JavaScript陣列
- 1452: 陣列最小值陣列
- 陣列--移除陣列中指定的元素,不改變原陣列和改變原陣列陣列
- 陣列的七個 API 的簡單實現陣列API
- 陣列[簡單]1550. 存在連續三個奇數的陣列2020/11/14(6)陣列
- 【陣列】977. 有序陣列的平方陣列
- python List,它不是一個簡單的陣列Python陣列
- 矩陣的特徵值和特徵向量矩陣特徵
- 陣列,陣列類,SyStem類陣列
- Java陣列03:陣列使用Java陣列
- 移除陣列 arr 中的所有值與 item 相等的元素。不要直接修改陣列 arr,結果返回新的陣列陣列
- 如何從陣列中隨機取出幾個值組成新的陣列?陣列隨機
- 簡單介紹js 陣列 fill() 填充方法JS陣列
- JavaScript陣列解構賦值JavaScript陣列賦值
- 陣列二:使用陣列可變函式為陣列排序陣列函式排序
- 指標陣列和陣列指標與二維陣列指標陣列
- 陣列指標,指標陣列陣列指標
- 陣列的reduce操作+物件陣列的map操作陣列物件
- Js陣列物件的屬性值升序排序,並指定陣列中的某個物件移動到陣列的最前面JS陣列物件排序
- 全面解析Js陣列遍歷對原陣列的影響及返回值JS陣列
- 前端中的簡單程式設計題-陣列(2)前端程式設計陣列
- c語言關於陣列的簡單運算C語言陣列
- Java break、continue 詳解與陣列深入解析:單維陣列和多維陣列詳細教程Java陣列
- 記一次陣列操作:陣列 A 根據陣列 B 排序陣列排序
- 陣列陣列