414. 第三大的數

 

 

 

 

兩中寫法都過了。函數

學到的是sorted()函數排其餘可迭代對象後返回值是list類型。spa

 

代碼一:

 1 class Solution(object):
 2     def thirdMax(self, nums):
 3         """
 4         :type nums: List[int]
 5         :rtype: int
 6         """
 7         # 轉set去重
 8         s = set(nums)
 9         # 在轉回list
10         # nums = list(s)
11         # 降序排
12         # nums.sort(reverse=True)
13         # sorted()函數排序後返回的是list類型
14         nums = sorted(s, reverse=True)
15         if len(s) < 3:
16             return nums[0]
17         else:
18             return nums[2]

 

代碼二:

 1 class Solution(object):
 2     def thirdMax(self, nums):
 3         """
 4         :type nums: List[int]
 5         :rtype: int
 6         """
 7         # 升序排
 8         nums.sort()
 9         index = 1
10         # 暫存nums最後一個元素
11         temp = nums[-1]
12         # 從倒數第二個元素倒序遍歷
13         for j in range(len(nums) - 2, -1, -1):
14             if index == 3:
15                 return temp
16             if nums[j] == temp:
17                 nums.pop(j)
18             else:
19                 temp = nums[j]
20                 index += 1
21         if index != 3:
22             return nums[-1]
23         else:
24             return temp
相關文章
相關標籤/搜索