LeetCode #414. Third Maximum Number
题目
解题方法
先用集合去重numset=set(nums),用完了时间复杂度O(n)(set(n)方法在构造时的时间复杂度是O(length(n))),再记录下其中的最大值tempmax,然后弹出两个最大值,注意弹之前检查是否已经是空集合,如果空了就返回tempmax,否则弹完之后返回剩下来的最大值即可。
代码
class Solution:
def thirdMax(self, nums: List[int]) -> int:
numset = set(nums)
tempmax = max(numset)
numset.discard(max(numset))
if len(numset):
numset.discard(max(numset))
else:
return tempmax
if len(numset):
return max(numset)
else:
return tempmax

浙公网安备 33010602011771号