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

Longest Palindromic Substring

لديك سلسلة نصية s تتكوّن من أحرف إنجليزية صغيرة. أَعِد أطول سلسلة فرعية متناظرة فيها: أطول مقطع من الأحرف المتتالية يُقرأ بالطريقة نفسها من الأمام والخلف. إذا اشتركت عدة سلاسل فرعية في هذا الطول الأكبر، فأَعِد السلسلة التي تبدأ في الموضع الأسبق.

الدالة

longestPalindrome(s: string) → string
sstring
السلسلة النصية بأحرف صغيرة المراد البحث عنها
تُرجعstring
أطول سلسلة فرعية متناظرة في s، والأسبق من اليسار عند وجود عدة سلاسل متساوية الطول

القيود

  • 1 ≤ s.length ≤ 2000
  • s يحتوي على أحرف إنجليزية صغيرة فقط.
  • عندما يكون هناك عدة متواليات متناظرة لها أكبر طول، تكون الإجابة هي المتوالية ذات أصغر فهرس بداية.

أمثلة

المدخلات
s = "bananas"
المخرجات
"anana"
الشرح
تُقرأ "anana" بالطريقة نفسها من الطرفين، وتتكوّن من 5 أحرف. لا توجد قطعة أطول تنجح: تبدأ "banana" بالحرف b وتنتهي بالحرف a، وتبدأ "ananas" بالحرف a وتنتهي بالحرف s، وتبدأ الكلمة كاملةً بالحرف b وتنتهي بالحرف s.

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

challenge icon

سؤال إضافي

هل يمكنك إيجاد الإجابة في زمن O(n)؟

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

الحالة 1

الحالة 2

الحالة 3

المدخلات

s = "bananas"

المتوقع

"anana"