Python程式:查詢特殊陣列中大於等於X的元素個數為X的X值
假設我們有一個名為nums的陣列,其中所有元素均為0或正數。如果存在一個數字x,使得nums中恰好有x個數字大於或等於x,則nums被認為是特殊的陣列。x不必是nums中的元素。這裡我們必須找到x(如果陣列是特殊的),否則返回-1。
因此,如果輸入類似於nums = [4,6,7,7,1,0],則輸出將為4,因為有4個數字大於或等於4。
為了解決這個問題,我們將遵循以下步驟:
從0到nums的最大值迴圈:
計數器:= 0
遍歷nums中的每個j:
如果j >= i,則
- 計數器 := 計數器 + 1
如果計數器等於i,則
返回i
返回-1
示例(Python)
讓我們來看下面的實現,以便更好地理解:
def solve(nums): for i in range(max(nums)+1): count=0 for j in nums: if j >= i: count+=1 if count == i: return i return -1 nums = [4,6,7,7,1,0] print(solve(nums))
輸入
[4,6,7,7,1,0]
輸出
-1
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP