LeetCode 414 第三大的數

2021-09-22 18:43:15 字數 1335 閱讀 9421

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 解釋 注...