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

Is Subsequence

سهلمؤشرانpython iconjava iconcpp iconc iconjs icon+10

تُعطى سلسلتان نصيتان، s وt. أعد true إذا كان بإمكانك تحويل t إلى s بحذف بعض أحرفها (وربما لا تحذف أي حرف)، مع الحفاظ على ترتيب الأحرف المتبقية، وأعد false خلاف ذلك. على سبيل المثال، ace سلسلة فرعية متتابعة من abcde، لكن aec ليست كذلك.

الدالة

isSubsequence(s: string, t: string) → boolean
sstring
السلسلة النصية المطلوب البحث عنها
tstring
السلسلة النصية التي تُحذف منها الأحرف
تُرجعboolean
صحيح إذا كان من الممكن قراءة s داخل t بالترتيب، مع احتمال وجود فجوات

القيود

  • 1 ≤ s.length ≤ 3 × 104
  • 1 ≤ t.length ≤ 5 × 104
  • s وt يحتويان على أحرف إنجليزية صغيرة فقط.

أمثلة

المدخلات
s = "ace"t = "abcde"
المخرجات
true
الشرح
احذف b وd من abcde، وسيتبقى ace بالترتيب نفسه.

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

challenge icon

سؤال إضافي

لنفترض أن t يبقى كما هو، وأن عليك التحقق من مليون سلسلة مختلفة s بمقارنته بها. كيف ستُعِدّ t بحيث يكون كل تحقق أسرع من قراءة t بالكامل من جديد؟

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

الحالة 1

الحالة 2

الحالة 3

المدخلات

s = "ace"
t = "abcde"

المتوقع

true