150 najlepszych wywiadówŁatwe

Wyszukiwanie słów

Szczegółowy przewodnik i implementacja Python dla problemu „Wyszukiwanie słów”.

Oświadczenie o problemie

Łatwe

Biorąc pod uwagę siatkę m x n tablic znaków i słowo będące ciągiem znaków, zwróć wartość true, jeśli słowo istnieje w siatce.

Słowo może być zbudowane z liter sąsiadujących ze sobą komórek, przy czym sąsiednie komórki sąsiadują ze sobą w poziomie lub w pionie. Ta sama komórka literowa nie może być użyta więcej niż raz.

Zaimplementuj funkcję exist(board: list, word: str) -> bool.

Ograniczenia
  • m == board.length
  • n == board[i].length
  • 1 <= m, n <= 6
  • 1 <= word.length <= 15
  • board and word consists of only lowercase and uppercase English letters

Przykłady

Example 1
Input
[["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], "ABCCED"
Output
True
Explanation

The word ABCCED can be traced: A(0,0)->B(0,1)->C(0,2)->C(1,2)->E(2,2)->D(2,1).

Example 2
Input
[["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], "SEE"
Output
True
Explanation

The word SEE can be traced: S(1,3)->E(2,3)->E(2,2).

Example 3
Input
[["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], "ABCB"
Output
False
Explanation

Cannot trace ABCB without reusing cells.

Need a Hint?
Rozważ użycie struktur danych specyficznych dla cofania, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Otwórz w Edytorze
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.