使用Python查詢K次移除後唯一整數的最少數量的程式
假設我們有一個名為nums的陣列,其中只儲存整數。如果我們有一個數字k,我們必須找到移除恰好k個元素後唯一元素的最少數量。
因此,如果輸入類似於nums = [5,4,2,2,4,4,3],k = 3,則輸出將為2,因為如果我們移除5和3,以及任一個2或任一個4,則只剩下2和4。
為了解決這個問題,我們將遵循以下步驟:
字典:=一個新的對映
對於nums中的每個num,執行:
如果num不在字典中,則
字典[num]:= 1
否則,
字典[num] := 字典[num] + 1
計數:= 字典的大小
對於字典所有值的排序順序中的每個頻率,執行:
k := k - 頻率
如果k < 0,則
返回計數
否則,
計數 := 計數 - 1
返回計數
讓我們看看下面的實現,以便更好地理解:
示例
def solve(nums, k):
dictionary={}
for num in nums:
if num not in dictionary:
dictionary[num]=1
else:
dictionary[num]+=1
count=len(dictionary)
for frequency in sorted(dictionary.values()):
k-=frequency
if(k<0):
return count
else:
count-=1
return count
nums = [5,4,2,2,4,4,3]
k = 3
print(solve(nums, k))輸入
[5,4,2,2,4,4,3], 3
輸出
2
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP