Menu
CoddyTech

Second Largest Number

PoczątkującyTablice i napisypython iconjava iconcpp iconc iconjs icon+10

Otrzymujesz listę liczb całkowitych nums. Zwróć jej drugą co do wielkości różną wartość: największą wartość, która jest ściśle mniejsza od maksimum. Wartości mogą się powtarzać, więc dla [5, 5, 3] odpowiedzią jest 3, a nie 5. Lista zawsze zawiera co najmniej dwie różne wartości.

Funkcja

secondLargest(nums: integer-array) → integer
numsinteger-array
lista liczb całkowitych zawierająca co najmniej dwie różne wartości
Zwracainteger
największa wartość mniejsza od maksimum

Ograniczenia

  • 2 ≤ nums.length ≤ 5000
  • -109 ≤ nums[i] ≤ 109
  • nums zawiera co najmniej dwie różne wartości.

Przykłady

Wejście
nums = [4, 9, 2, 7, 9]
Wyjście
7
Wyjaśnienie
Maksimum to 9. Występuje dwa razy, ale druga kopia maksimum się nie liczy, więc odpowiedzią jest kolejna niższa wartość, 7.
challenge icon

Pytanie dodatkowe

Czy potrafisz zwrócić trzecią największą różną wartość w jednym przebiegu, używając trzech zmiennych i bez sortowania?

Zresetuj kod
def secondLargest(nums):
    # Napisz tutaj kod

Test #1

Test #2

Test #3

Argument

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

Oczekiwany wynik

7