import heapq
class solution:
def thirdmax(self, nums: list[int]) -> int:
s=set(nums)
s=list(s)
l=len(s)
if l<3:
return max(s)
mx3=heapq.nlargest(3,s)
return int(mx3[2])
首先去除掉重複的數,用set()就好了
ll=heapq.nlargest(n,list/tuple)
取字典keys最大的n個元素
import heapq
mydict = #定義乙個字典
topnum = 3
nlargestlist = heapq.nlargest(topnum, mydict.keys()) #取key值最大的3個元素
nsmallestlist = heapq.nsmallest(topnum, mydict.keys()) #取key值最小的3個元素
for key in nlargestlist: #輸出結果
print key,mydict[key]
for key in nsmallestlist:
print key,mydict[key]
取字典keys最大的n個元素
import heapq
mydict =
topnum = 3
nlargestlist = heapq.nlargest(topnum, mydict.values()) #取value值最大的3個元素,注意與上一程式區別
nsmallestlist = heapq.nsmallest(topnum, mydict.values()) #取value值最小的3個元素,注意與上一程式區別
for value in nlargestlist: #輸出結果
for key in mydict:
if mydict[key] == value:
print key,mydict[key]
for value in nsmallestlist: #輸出結果
for key in mydict:
if mydict[key] == value:
print key,mydict[key]
LeetCode 414 第三大的數
隨機一題 給定乙個非空陣列,返回此陣列中第三大的數。如果不存在,則返回陣列中最大的數。要求演算法時間複雜度必須是o n 示例 1 輸入 3,2,1 輸出 1 解釋 第三大的數是 1.示例 2 輸入 1,2 輸出 2 解釋 第三大的數不存在,所以返回最大的數 2 示例 3 輸入 2,2,3,1 輸出 ...
LeetCode 414 第三大的數
給定乙個非空陣列,返回此陣列中第三大的數。如果不存在,則返回陣列中最大的數。要求演算法時間複雜度必須是o n 示例 1 輸入 3,2,1 輸出 1 解釋 第三大的數是 1.示例 2 輸入 1,2 輸出 2 解釋 第三大的數不存在,所以返回最大的數 2 示例 3 輸入 2,2,3,1 輸出 1 解釋 ...
LeetCode 414 第三大的數
給定乙個非空陣列,返回此陣列中第三大的數。如果不存在,則返回陣列中最大的數。要求演算法時間複雜度必須是o n 示例 1 輸入 3,2,1 輸出 1 解釋 第三大的數是 1.示例 2 輸入 1,2 輸出 2 解釋 第三大的數不存在,所以返回最大的數 2示例 3 輸入 2,2,3,1 輸出 1 解釋 注...