Menu
CoddyTech
flag Ar iconالعربيةdown icon

Permutation in String

تستخدم تبديلة السلسلة الحروف نفسها بأي ترتيب، ويظهر كل حرف فيها بعدد مرات ظهوره في السلسلة الأصلية: tar وrat وart تبديلات بعضها لبعض. لديك سلسلتان s1 وs2 مكوّنتان من أحرف إنجليزية صغيرة. أعد true إذا ظهرت أي تبديلة من s1 في s2 كسلسلة فرعية (تتابع من الأحرف المتجاورة)، وأعد false خلاف ذلك.

الدالة

checkInclusion(s1: string, s2: string) → boolean
s1string
الحروف المطلوب إعادة ترتيبها
s2string
السلسلة النصية التي سيتم البحث فيها
تُرجعboolean
صحيح إذا كانت سلسلة فرعية من s2 إعادة ترتيب لـ s1

القيود

  • 1 ≤ s1.length ≤ 2 × 104
  • 1 ≤ s2.length ≤ 5 × 104
  • s1 وs2 يحتويان على أحرف إنجليزية صغيرة فقط (a إلى z).
  • s1 قد تكون أطول من s2.

أمثلة

المدخلات
s1 = "tar"s2 = "smartphone"
المخرجات
true
الشرح
السلسلة الفرعية art عند الفهارس من 2 إلى 4 في smartphone تحتوي على حرف a واحد، وحرف r واحد، وحرف t واحد، وهي الأحرف نفسها الموجودة في tar.

lock icon+17 اختبارات مخفية عند الإرسال

challenge icon

سؤال إضافي

هل يمكنك إرجاع جميع الفهارس في s2 التي يبدأ عندها تبديل لـ s1، مع الحفاظ على زمن O(m + n)؟

إعادة ضبط الشيفرة
def checkInclusion(s1, s2):
    # اكتب الكود هنا
حالات الاختبار

الحالة 1

الحالة 2

الحالة 3

المدخلات

s1 = "tar"
s2 = "smartphone"

المتوقع

true