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