Menu
CoddyTech

Word Search

لديك شبكة من الأحرف board، وهي قائمة من السلاسل النصية حيث يكون board[r][c] هو الحرف في الصف r، والعمود c، وسلسلة نصية word.

أعِد true إذا كان بإمكانك تتبّع word: ابدأ من أي خلية وانتقل في كل مرة إلى الخلية التي فوقها أو تحتها أو إلى يسارها أو يمينها، بحيث تكوّن الخلايا التي تزورها word بالترتيب، من دون استخدام أي خلية مرتين. وإلا فأعِد false. الأحرف حساسة لحالة الأحرف.

الدالة

exist(board: string-array, word: string) → boolean
boardstring-array
الشبكة، سلسلة من الأحرف في كل صف
wordstring
الكلمة المراد تتبّعها
تُرجعboolean
ما إذا كان يمكن تتبّع الكلمة عبر خلايا متجاورة، مع استخدام كل خلية مرة واحدة على الأكثر

القيود

  • 1 ≤ board.length ≤ 6
  • 1 ≤ board[i].length ≤ 6، ويكون طول كل صف متساويًا.
  • 1 ≤ word.length ≤ 20
  • board وword يحتويان فقط على أحرف إنجليزية، كبيرة وصغيرة.

أمثلة

المدخلات
board = ["STAR", "POOL", "ENDS"]word = "STOOLS"
المخرجات
true
الشرح
ابدأ عند S في أعلى اليسار، واتجه يمينًا إلى T، ثم انزل إلى O، واتجه يمينًا إلى O وL، ثم انزل إلى S أسفل L. لا تتكرر أي خلية.
challenge icon

سؤال إضافي

بدلًا من الإجابة بنعم أو لا، هل يمكنك عدّ عدد المسارات المختلفة لرسم word على اللوحة؟

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

اختبار #1

اختبار #2

اختبار #3

الوسائط

board = ["STAR", "POOL", "ENDS"]
word = "STOOLS"

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

true