問題:返回第乙個丟失的正數
given an unsorted integer array, find the first missing positive integer.
your algorithm should run in o(n) time and uses constant space.
for example,
given[1,2,0]
return3
,
and[3,4,-1,1]
return2
.
求解思路:用陣列的位置記錄每乙個元素出現的頻率,沒有出現的則為丟失的。
如何記錄元素出現的頻率且不會覆蓋對應位置上原來儲存的數。
例如: 4 5 1 3 1 丟失的數為2,如果用陣列的第四個位置記錄4 出現的頻率,原來在第四個位置的3 就會被覆蓋。為了避免這種現象的發生卻又不使用多餘的空間,該數字每次出現,可以在對應的位置上加乙個陣列的長度,而對每乙個元素進行操作的時候可以用取餘運算,可以抵消加陣列長度帶來的影響,並且最後可以直接除以陣列長度去判斷元素出現的頻率。
實現:lens = len(nums)
for i in range(lens):
mums[nums[i]%lens]+=lens
for i in range(lens):
freq=nums[i]//lens
字母出現頻率統計用python實現
def processline line,charactercounts for character in line if ord character in range 97,123 charactercounts character 1 建立字母字典 def createcharactercoun...
負頻率的出現
首先明確一點,這種關於y軸對稱的頻譜圖確切的說應該叫複數頻譜。接下在說明為什麼複數頻譜圖的負頻率上為什麼會有值。傅利葉級數有兩種形式,第一種是三角函式形式,第二種是指數形式。寫成三角函式的傅利葉級數在根據係數繪製頻譜圖時是不會出現負頻率上有值的情況的。而根據第二種形式繪製的複數頻譜圖就會出現關於y軸...
統計單詞出現的頻率
平時我們在工作的時候需要統計一篇文章或者網頁出現頻率最高的單詞,或者需要統計單詞出現頻率排序。那麼如何完成這個任務了?例如,我們輸入的語句是 hello there this is a test.hello there this was a test,but now it is not.希望得到的公...