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

Word Break

تحصل على سلسلة نصية s وقائمة كلمات wordDict. أعد true إذا كان بإمكانك تقسيم s إلى أجزاء بحيث يكون كل جزء كلمة من wordDict، وأعد false خلاف ذلك.

تحافظ الأجزاء على ترتيبها وتستخدم مجتمعةً كل حرف من s مرة واحدة بالضبط. يمكن استخدام الكلمة أي عدد من المرات، ولا يلزمك استخدام كل الكلمات.

الدالة

wordBreak(s: string, wordDict: string-array) → boolean
sstring
السلسلة المراد تقسيمها إلى كلمات
wordDictstring-array
الكلمات التي يمكنك استخدامها، كلٌّ منها بالقدر الذي تشاء
تُرجعboolean
true إذا كان بالإمكان تقسيم s إلى كلمات من القاموس، وfalse خلاف ذلك

القيود

  • 1 ≤ s.length ≤ 300
  • 1 ≤ wordDict.length ≤ 1000
  • 1 ≤ wordDict[i].length ≤ 20
  • s وكل كلمة تحتوي فقط على أحرف إنجليزية صغيرة.
  • كل الكلمات في wordDict مختلفة.

أمثلة

المدخلات
s = "sunflowerseed"wordDict = ["sun", "flow", "flower", "seed"]
المخرجات
true
الشرح
قسّمها إلى sun وflower وseed. أخذ flow بعد sun لا يؤدي إلى نتيجة، لأن لا كلمة تبدأ بـer المتبقية، لذا فإن أول كلمة تنطبق ليست دائمًا الكلمة الصحيحة.

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

challenge icon

سؤال إضافي

أعِد أقل عدد من الكلمات التي يمكن أن يستخدمها تقسيم صالح، أو -1 إذا تعذّر تقسيم s. ما الذي يتغير في الجدول، وهل يتغير زمن التشغيل؟

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

الحالة 1

الحالة 2

الحالة 3

المدخلات

s = "sunflowerseed"
wordDict = ["sun", "flow", "flower", "seed"]

المتوقع

true