Menu
CoddyTech

Second Largest Number

Người mớiMảng và chuỗipython iconjava iconcpp iconc iconjs icon+10

Bạn nhận được một danh sách số nguyên nums. Hãy trả về giá trị phân biệt lớn thứ hai: giá trị lớn nhất nhưng nhỏ hơn giá trị lớn nhất. Các giá trị có thể lặp lại, vì vậy với [5, 5, 3], đáp án là 3, không phải 5. Danh sách luôn có ít nhất hai giá trị khác nhau.

Hàm

secondLargest(nums: integer-array) → integer
numsinteger-array
danh sách số nguyên có ít nhất hai giá trị khác nhau
Trả vềinteger
giá trị lớn nhất nhỏ hơn giá trị tối đa

Ràng buộc

  • 2 ≤ nums.length ≤ 5000
  • -109 ≤ nums[i] ≤ 109
  • nums chứa ít nhất hai giá trị khác nhau.

Ví dụ

Đầu vào
nums = [4, 9, 2, 7, 9]
Đầu ra
7
Giải thích
Giá trị lớn nhất là 9. Giá trị này xuất hiện hai lần, nhưng bản sao thứ hai không được tính, nên đáp án là giá trị nhỏ hơn tiếp theo, 7.
challenge icon

Câu hỏi mở rộng

Bạn có thể trả về giá trị lớn thứ ba không trùng lặp chỉ trong một lượt duyệt, bằng ba biến (variable) và không sắp xếp không?

Đặt lại code
def secondLargest(nums):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

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

Đầu ra mong đợi

7