Menu
CoddyTech

Next Greater Element I

Birbirinden farklı tam sayılardan oluşan iki dizi, nums1 ve nums2 veriliyor ve nums1 içindeki her değer nums2 içinde de bulunuyor. Bir x değerinin sonraki daha büyük elemanı, nums2 içinde x'in sağında bulunan ve x'ten büyük olan ilk değerdir; böyle bir değer yoksa -1 olur.

nums1 içindeki her değerin sonraki daha büyük elemanını, nums1 sırasını koruyarak içeren bir dizi döndürün.

Fonksiyon

nextGreaterElement(nums1: integer-array, nums2: integer-array) → integer-array
nums1integer-array
yanıtlanacak değerlerin tamamı nums2 içinde bulunur
nums2integer-array
her değerin sağ tarafına baktığınız dizi
Döndürürinteger-array
nums1'deki her değer için bir sonraki daha büyük eleman ya da -1; nums1'deki sırayla

Kısıtlar

  • 1 ≤ nums1.length ≤ nums2.length ≤ 104
  • 0 ≤ nums1[i], nums2[i] ≤ 104
  • nums1 içindeki tüm değerler birbirinden farklıdır ve nums2 içindeki tüm değerler birbirinden farklıdır.
  • nums1 değerlerinin her biri nums2 içinde bulunur.

Örnekler

Girdi
nums1 = [3, 8, 1]nums2 = [1, 6, 3, 8, 2]
Çıktı
[8, -1, 6]
Açıklama
nums2 içindeki 3'ten sonra 8 ve 2 gelir; 8, 3'ten büyük olan ilk sayıdır. 8'den sonra yalnızca 2 gelir, bu yüzden 8 -1 değerini alır. 1'in hemen ardından gelen değer 6'dır ve zaten daha büyüktür.

lock iconGönderirken +14 gizli test

challenge icon

Ek soru

nums2 öğesindeki her konum için, aynı tek geçişte bir sonraki daha büyük elemanının sağda kaç adım uzakta olduğunu döndürebilir misin?

Kodu sıfırla
def nextGreaterElement(nums1, nums2):
    # Kodu buraya yazın
Test durumları

Durum 1

Durum 2

Durum 3

Girdi

nums1 = [3, 8, 1]
nums2 = [1, 6, 3, 8, 2]

Beklenen

[8, -1, 6]