Menu
CoddyTech

Permutation in String

Bir dizgenin permütasyonu, aynı harfleri özgün dizgedekiyle aynı sayıda, herhangi bir sırada kullanır: tar, rat ve art birbirlerinin permütasyonlarıdır. Küçük İngilizce harflerden oluşan s1 ve s2 dizgelerini alırsın. s1'in bir permütasyonu s2 içinde bir alt dize (ardışık karakterlerden oluşan bir dizi) olarak görünüyorsa true, aksi hâlde false döndür.

Fonksiyon

checkInclusion(s1: string, s2: string) → boolean
s1string
yeniden düzenlenecek harfler
s2string
içinde arama yapılacak dize
Döndürürboolean
s2'nin bir alt dizgesi s1'in yeniden sıralanmış hâliyse true

Kısıtlar

  • 1 ≤ s1.length ≤ 2 × 104
  • 1 ≤ s2.length ≤ 5 × 104
  • s1 ve s2 yalnızca küçük İngilizce harfler (a ile z arası) içerir.
  • s1, s2'den daha uzun olabilir.

Örnekler

Girdi
s1 = "tar"s2 = "smartphone"
Çıktı
true
Açıklama
smartphone sözcüğünde 2 ile 4. indeksler arasındaki art alt dizgesi, tar ile aynı harfler olan bir a, bir r ve bir t içerir.

lock iconGönderirken +17 gizli test

challenge icon

Ek soru

Bir s1 permütasyonunun başladığı s2 içindeki tüm indisleri, yine O(m + n) zamanda döndürebilir misin?

Kodu sıfırla
def checkInclusion(s1, s2):
    # Kodu buraya yazın
Test durumları

Durum 1

Durum 2

Durum 3

Girdi

s1 = "tar"
s2 = "smartphone"

Beklenen

true