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

Longest Substring Without Repeating Characters

ابحث في سلسلة نصية عن مقاطع متتالية من الأحرف يظهر فيها كل حرف مرة واحدة فقط. في coddycode، يحتوي المقطع ycode على خمسة أحرف مختلفة، ولا يوجد مقطع أطول يتجنب التكرار، لذا فالإجابة هي 5.

ينجح فحص كل المقاطع الممكنة، لكنه بطيء. هناك طريقة أسرع تُبقي على نافذة بين موضعين لا تحتوي أبدًا على أحرف مكررة. حرّك الحافة اليمنى حرفًا واحدًا في كل مرة. عندما يكون الحرف الجديد موجودًا بالفعل داخل النافذة، انقل الحافة اليسرى مباشرةً إلى الموضع الذي يلي الموضع الذي شوهد فيه ذلك الحرف من قبل. إن تذكّر آخر موضع لكل حرف يجعل هذه النقلة فورية، لذا تُقرأ السلسلة النصية مرة واحدة فقط.

اكتب دالة باسم lengthOfLongestSubstring تستقبل سلسلة نصية s وتُرجع طول أطول سلسلة فرعية (مجموعة من الأحرف المتتالية) لا يظهر فيها أي حرف أكثر من مرة.

الأحرف الكبيرة والصغيرة أحرف مختلفة، لذا فإن a وA لا يُعدّان تكرارًا.

القيود: 1 <= s.length <= 5 * 10^4. تحتوي s على أحرف إنجليزية فقط (كبيرة وصغيرة) وأرقام.

الدالة

lengthOfLongestSubstring(arg1: string) → integer
arg1string
تُرجعinteger

أمثلة

المدخلات
arg1 = "coddycode"
المخرجات
5

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

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

الحالة 1

الحالة 2

الحالة 3

المدخلات

arg1 = "coddycode"

المتوقع

5