Menu
CoddyTech

Leaders in an Array

Bir tamsayı dizisi nums alırsın. Bir eleman, sağındaki her elemandan büyük veya eşit olduğunda lider sayılır. Son elemanın sağında hiçbir şey olmadığından, her zaman liderdir. Tüm liderleri, nums içinde soldan sağa göründükleri sırayla döndür.

Fonksiyon

leaders(nums: integer-array) → integer-array
numsinteger-array
aranacak tamsayı dizisi
Döndürürinteger-array
nums'un liderleri, soldan sağa

Kısıtlar

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

Örnekler

Girdi
nums = [12, 5, 9, 3, 6, 2]
Çıktı
[12, 9, 6, 2]
Açıklama
2 en sonda, bu yüzden başa geçer. 6, ardından gelen 2'yi geçer; 9, 3'ü, 6'yı ve 2'yi geçer; 12 ise hepsini geçer. 5, 9'a; 3 ise 6'ya yenilir, bu yüzden cevap [12, 9, 6, 2] olur.
challenge icon

Ek soru

Değerler teker teker geliyor ve her birinden sonra şu ana kadarki liderleri bildirmeniz gerekiyorsa, her değer için amortize O(1) zamanda listeyi nasıl güncellersiniz?

Kodu sıfırla
def leaders(nums):
    # Kodu buraya yazın

Test #1

Test #2

Test #3

Argüman

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

Beklenen Çıktı

[12, 9, 6, 2]