LeetCode第四十一題 Python實現

2021-10-19 12:38:17 字數 1429 閱讀 1795

title: leetcode no.41

categories:

tags:

給你乙個未排序的整數陣列 nums ,請你找出其中沒有出現的最小的正整數。

高階:你可以實現時間複雜度為 o(n) 並且只使用常數級別額外空間的解決方案嗎?

示例 1:

輸入:nums = [1,2,0]

輸出:3

示例 2:

輸入:nums = [3,4,-1,1]

輸出:2

示例 3:

輸入:nums = [7,8,9,11,12]

輸出:1

0 <= nums.length <= 300

-231 <= nums[i] <= 231 - 1

class solution(object):

def firstmissingpositive(self, nums):

""":type nums: list[int]

:rtype: int

核心思想:

對列表進行遍歷,然後對大於等於0的正整數建立字典, 沒出現的正整數鍵值對應的為1

然後從1開始訪問字典,如果當前鍵值不存在則為沒有出現的最小的正整數

"""temp =

maxnum = -1 # 最大值正整數

for i in range(len(nums)):

if nums[i] > 0:

if nums[i] > maxnum:

maxnum = nums[i]

# 解決 最大正整數過大的情況

if maxnum >= len(temp):

maxnum = len(temp)

# 解決無正整數的情況

if temp == :

return 1

keylist = [i for i in range(maxnum+2)] # 鍵值列表

valuelist = # 鍵值對應值的列表

for i in range(maxnum+2):

if i not in temp:

else:

numsdict = dict(zip(keylist,valuelist)) # 對應的字典

#print(numsdict)

index = -1

for i in range(1,maxnum+2):

if numsdict[i] == -1:

index = i

break

return index

if __name__ == '__main__':

s = solution()

print(s.firstmissingpositive(nums = [1,2,3,10,2147483647,9]))

NeHe OpenGL第四十一課 體積霧氣

nehe opengl第四十一課 體積霧氣 體積霧氣 把霧座標繫結到頂點,你可以在霧中漫遊,體驗一下吧。這一課我們將介紹體積霧,為了執行這個程式,你的顯示卡必須支援擴充套件 gl ext fot coord include include include include include nehegl...

學習python 第四十一天

python 對檔案的處理 python open 函式用於開啟乙個檔案,建立乙個 file 物件,相關的方法才可以呼叫它進行讀寫。response的常用方法 response.text str 文字資料 可以根據http頭部對響應的編碼來進行解碼 response.content bytes型的二...

韓順平網頁設計第四十一講

為什麼要dom程式設計 js最重要的功能就是讓使用者與網頁元素進行互動操作。這才是學js的精華所在。使用者可以對頁面元素進行各種操作。document就是乙個dom物件,它表示的是這個html文件,我們可以通過這個文件來訪問文件中的元素。dom程式設計是ajax的基礎。dom程式設計關係的示意圖 d...