Menu
CoddyTech

Partition Labels

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

الدالة

partitionLabels(s: string) → integer-array
sstring
السلسلة المراد اقتطاعها، أحرف صغيرة فقط
تُرجعinteger-array
طول كل جزء، من اليسار إلى اليمين

القيود

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

أمثلة

المدخلات
s = "abacdcefe"
المخرجات
[3, 3, 3]
الشرح
تقع حروف a عند الموضعين 0 و2، وحروف c عند الموضعين 3 و5، وحروف e عند الموضعين 6 و8، لذا تكون مواضع القطع بعد aba وبعد cdc. لا يمكن قطع أي جزء مرة أخرى، لأن كل جزء يبدأ وينتهي بالحرف نفسه.
إعادة ضبط الشيفرة
def partitionLabels(s):
    # اكتب الكود هنا

اختبار #1

اختبار #2

اختبار #3

وسيط

s = "abacdcefe"

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

[3, 3, 3]