leetcode414 第三大的數

2022-07-21 03:18:08 字數 832 閱讀 2425

給定乙個非空陣列,返回此陣列中第三大的數。如果不存在,則返回陣列中最大的數。要求演算法時間複雜度必須是o(n)。

示例 1:

輸入: [3, 2, 1]

輸出: 1

解釋: 第三大的數是 1.

示例 2:

輸入: [1, 2]

輸出: 2

解釋: 第三大的數不存在, 所以返回最大的數 2 .

示例 3:

輸入: [2, 2, 3, 1]

輸出: 1

解釋: 注意,要求返回第三大的數,是指第三大且唯一出現的數。

存在兩個值為2的數,它們都排第二。

碰到重複元素的情況就要想到set。

1

class

solution:

2def

thirdmax(self, nums):

3"""

4:type nums: list[int]

5:rtype: int

6"""7#

用set去除重複元素,但是set不支援下標操作,所以再轉成list8#

這裡直接賦給nums,不用再定義乙個變數

9 nums =list(set(nums))

10nums.sort()11#

如果集合長度小於3,直接返回最大元素

12if len(nums) < 3:

13return

max(nums)

14else:15

return nums[-3]

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