Menu
CoddyTech

Longest Common Subsequence

لديك سلسلتان، text1 وtext2. يحتفظ التتابع الجزئي من سلسلة ببعض أحرفها بالترتيب الأصلي ويحذف الباقي؛ ولا يُشترط أن تكون الأحرف المحتفَظ بها متجاورة. أعد طول أطول سلسلة تكون تتابعًا جزئيًا في كلتا السلسلتين، أو 0 إذا لم يكن بين السلسلتين أي حرف مشترك.

الدالة

longestCommonSubsequence(text1: string, text2: string) → integer
text1string
السلسلة النصية الأولى
text2string
السلسلة النصية الثانية
تُرجعinteger
طول أطول تسلسل فرعي مشترك

القيود

  • 1 ≤ text1.length ≤ 1000
  • 1 ≤ text2.length ≤ 1000
  • تحتوي السلسلتان على أحرف إنجليزية صغيرة فقط.

أمثلة

المدخلات
text1 = "stone"text2 = "longest"
المخرجات
3
الشرح
تظهر الأحرف o وn وe بهذا الترتيب في كلتا الكلمتين، لذا فإن one مشترك، وطوله 3. يأتي الحرفان s وt في النهاية في longest لكنهما يأتيان في البداية في stone، لذا فإن استخدامهما يعطي st كحد أقصى.
challenge icon

سؤال إضافي

هل يمكنك إرجاع أطول تسلسل فرعي مشترك نفسه، إلى جانب طوله؟

إعادة ضبط الشيفرة
def longestCommonSubsequence(text1, text2):
    # اكتب الكود هنا

اختبار #1

اختبار #2

اختبار #3

الوسائط

text1 = "stone"
text2 = "longest"

الإخراج المتوقع

3