Menu
CoddyTech

Leaders in an Array

Kamu mendapatkan sebuah array bilangan bulat nums. Sebuah elemen disebut pemimpin jika nilainya lebih besar dari atau sama dengan setiap elemen di sebelah kanannya. Elemen terakhir tidak memiliki elemen di sebelah kanannya, jadi elemen itu selalu menjadi pemimpin. Kembalikan semua pemimpin sesuai urutannya dalam nums, dari kiri ke kanan.

Fungsi

leaders(nums: integer-array) → integer-array
numsinteger-array
array bilangan bulat yang akan ditelusuri
Mengembalikaninteger-array
elemen pemimpin dari nums, dari kiri ke kanan

Batasan

  • 1 ≤ nums.length ≤ 25000
  • -109 ≤ nums[i] ≤ 109

Contoh

Input
nums = [12, 5, 9, 3, 6, 2]
Output
[12, 9, 6, 2]
Penjelasan
2 berada di posisi terakhir, jadi 2 yang memimpin. 6 mengalahkan 2 yang ada setelahnya, 9 mengalahkan 3, 6, dan 2, lalu 12 mengalahkan semuanya. 5 kalah dari 9 dan 3 kalah dari 6, jadi jawabannya adalah [12, 9, 6, 2].
challenge icon

Pertanyaan lanjutan

Jika nilai-nilai datang satu per satu dan setelah masing-masing kamu harus melaporkan nilai terbesar sejauh ini, bagaimana kamu memperbarui list dalam waktu amortisasi O(1) per nilai?

Reset kode
def leaders(nums):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

nums = [12, 5, 9, 3, 6, 2]

Output yang diharapkan

[12, 9, 6, 2]