Menu
CoddyTech

Second Largest Number

给定一个整数列表 nums。返回其中第二大的不同值:严格小于最大值的最大值。值可能重复,因此对于 [5, 5, 3],答案是 3,而不是 5。列表中始终至少有两个不同的值。

函数

secondLargest(nums: integer-array) → integer
numsinteger-array
至少包含两个不同值的整数列表
返回值integer
小于最大值的最大值

约束条件

  • 2 ≤ nums.length ≤ 5000
  • -109 ≤ nums[i] ≤ 109
  • nums 中至少包含两个不同的值。

示例

输入
nums = [4, 9, 2, 7, 9]
输出
7
解释
最大值是 9。它出现了两次,但最大值的第二个副本不计入,因此答案是下一个较小的值,即 7。
challenge icon

进阶

你能否只遍历一次,用三个变量且不排序,返回第三大的不同值?

重置代码
def secondLargest(nums):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

nums = [4, 9, 2, 7, 9]

预期输出

7