Python程式:查詢陣列中缺失的最小正整數
假設我們有一個名為nums的數字列表,我們需要找到第一個缺失的正整數。換句話說,就是陣列中不存在的最小正整數。陣列中可能包含重複數字和負數。
所以,如果輸入類似於nums = [0,3,1],則輸出將為2
為了解決這個問題,我們將遵循以下步驟:
nums := 包含nums中所有正數的一個集合
如果nums為空,則
返回1
從1到nums的大小+2迴圈
如果i不在nums中,則
返回i
讓我們看看下面的實現來更好地理解:
示例
class Solution: def solve(self, nums): nums = set(num for num in nums if num > 0) if not nums: return 1 for i in range(1, len(nums) + 2): if i not in nums: return i ob = Solution() nums = [0,3,1] print(ob.solve(nums))
輸入
[0,3,1]
輸出
2
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP