給你乙個非負整數陣列 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
0 <= nums[i] <= 1000
1、計數排序;時間複雜度o(n),空間複雜度o(n)
func specialarray(nums int) int for i := len(arr) - 2; i >= 0; i-- for i := 0; i <= len(nums); i++ }return -1}
2、暴力法;時間複雜度o(n^2),空間複雜度o(1)
func specialarray(nums int) int }if count == i }return -1}
3、排序;時間複雜度o(nlog(n)),空間複雜度o(1)
func specialarray(nums int) int for i := 1; i < n; i++ }return -1}
easy題目,資料量小,直接暴力遍歷即 隨機取陣列,打亂陣列元素
隨機取陣列元素 dim xuan xuan openfile xuan.txt xuan split xuan,function rndint byval maxnum,byval minnum asp生成整數之間的隨機數函式 dim tmp if maxnum tmp minnum minnum ...
python陣列各元素取整
對於python陣列來說,可以有三種格式 numpy包裡的array格式,例如,建立乙個三行而列的陣列 a np.array 1,2 3,4 5,6 matrix格式,例如 b np.matrix 1,2 3,4 5,6 利用list組成的陣列,例如 c 1,2 3,4 5,6 可以看到,array...
js中取陣列第乙個元素
var a 1,2,2,3,4 console.log a a.shift console.log a 5 1,2,2,3,4 4 2,2,3,4 pop 刪除原陣列最後一項,並返回刪除元素的值 如果陣列為空則返回undefined shift 刪除原陣列第一項 相當於lpop push 將引數新增...