From 5d9402bf2be3b1efa35c8d85741ca63263febb27 Mon Sep 17 00:00:00 2001 From: diguage Date: Sun, 22 Sep 2024 23:07:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8C=E5=88=B779?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/0079-word-search.adoc | 27 ++++++++ docs/images/0079-01.png | Bin 0 -> 31807 bytes docs/images/0079-02.png | Bin 0 -> 76406 bytes logbook/202406.adoc | 7 +- .../algo/leetcode/_0079_WordSearch.java | 7 +- .../algo/leetcode/_0079_WordSearch_2.java | 62 ++++++++++++++++++ 6 files changed, 100 insertions(+), 3 deletions(-) create mode 100644 docs/images/0079-01.png create mode 100644 docs/images/0079-02.png create mode 100644 src/main/java/com/diguage/algo/leetcode/_0079_WordSearch_2.java diff --git a/docs/0079-word-search.adoc b/docs/0079-word-search.adoc index 6a00b19ba6..5eab5a88de 100644 --- a/docs/0079-word-search.adoc +++ b/docs/0079-word-search.adoc @@ -23,10 +23,37 @@ Given word = "*SEE*", return *true*. Given word = "*ABCB*", return *false*. ---- +== 思路分析 + +image:images/0079-01.png[{image_attr}] + +image:images/0079-02.png[{image_attr}] [[src-0079]] +[tabs] +==== +一刷:: ++ +-- [{java_src_attr}] ---- include::{sourcedir}/_0079_WordSearch.java[tag=answer] ---- +-- + +二刷:: ++ +-- +[{java_src_attr}] +---- +include::{sourcedir}/_0079_WordSearch_2.java[tag=answer] +---- +-- +==== + +== 参考资料 + +. https://leetcode.cn/problems/word-search/solutions/2361646/79-dan-ci-sou-suo-hui-su-qing-xi-tu-jie-5yui2/?envType=study-plan-v2&envId=selected-coding-interview[79. 单词搜索 - 回溯,清晰图解^] + + diff --git a/docs/images/0079-01.png b/docs/images/0079-01.png new file mode 100644 index 0000000000000000000000000000000000000000..691a41863288d66865a8141720e568554d2c1d92 GIT binary patch literal 31807 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 literal 0 HcmV?d00001 diff --git a/logbook/202406.adoc b/logbook/202406.adoc index 78b773bf57..934a264797 100644 --- a/logbook/202406.adoc +++ b/logbook/202406.adoc @@ -841,13 +841,18 @@ |{counter:codes} |{leetcode_base_url}/rotate-string/[796. Rotate String^] |{doc_base_url}/0796-rotate-string.adoc[题解] -|✅ +|✅ 简单用 `contains`;复杂用 KMP 算法。 |{counter:codes} |{leetcode_base_url}/course-schedule/[207. Course Schedule^] |{doc_base_url}/0207-course-schedule.adoc[题解] |✅ 拓扑排序 +|{counter:codes} +|{leetcode_base_url}/word-search/[79. Word Search^] +|{doc_base_url}/0079-word-search.adoc[题解] +|✅ 回溯 + |=== 截止目前,本轮练习一共完成 {codes} 道题。 diff --git a/src/main/java/com/diguage/algo/leetcode/_0079_WordSearch.java b/src/main/java/com/diguage/algo/leetcode/_0079_WordSearch.java index 693f826fbb..a909537003 100644 --- a/src/main/java/com/diguage/algo/leetcode/_0079_WordSearch.java +++ b/src/main/java/com/diguage/algo/leetcode/_0079_WordSearch.java @@ -30,7 +30,7 @@ * @since 2020-01-03 17:31 */ public class _0079_WordSearch { - // tag::answer[] + // tag::answer[] /** * Runtime: 4 ms, faster than 89.90% of Java online submissions for Word Search. @@ -38,6 +38,9 @@ public class _0079_WordSearch { * Memory Usage: 38.4 MB, less than 97.96% of Java online submissions for Word Search. * * Copy from: https://leetcode.com/problems/word-search/discuss/27658/Accepted-very-short-Java-solution.-No-additional-space.[Accepted very short Java solution. No additional space. - LeetCode Discuss] + * + * @author D瓜哥 · https://www.diguage.com + * @since 2020-01-03 17:31 */ public boolean exist(char[][] board, String word) { if (Objects.isNull(board) || board.length == 0) { @@ -76,7 +79,7 @@ private boolean exist(char[][] board, int y, int x, char[] word, int i) { return existable; } - // end::answer[] + // end::answer[] public static void main(String[] args) { diff --git a/src/main/java/com/diguage/algo/leetcode/_0079_WordSearch_2.java b/src/main/java/com/diguage/algo/leetcode/_0079_WordSearch_2.java new file mode 100644 index 0000000000..40a3704aa7 --- /dev/null +++ b/src/main/java/com/diguage/algo/leetcode/_0079_WordSearch_2.java @@ -0,0 +1,62 @@ +package com.diguage.algo.leetcode; + +public class _0079_WordSearch_2 { + // tag::answer[] + + /** + * @author D瓜哥 · https://www.diguage.com + * @since 2024-09-21 21:39:49 + */ + public boolean exist(char[][] board, String word) { + for (int r = 0; r < board.length; r++) { + for (int c = 0; c < board[r].length; c++) { + if (board[r][c] == word.charAt(0)) { + if (backtrack(board, r, c, word, 0)) { + return true; + } + } + } + } + return false; + } + + private boolean backtrack(char[][] board, int row, int column, + String word, int idx) { + if (idx >= word.length()) { + return true; + } + if (row < 0 || row >= board.length + || column < 0 || column >= board[row].length + || board[row][column] == ' ' + || board[row][column] != word.charAt(idx)) { + return false; + } + board[row][column] = ' '; + boolean result = backtrack(board, row - 1, column, word, idx + 1) + || backtrack(board, row + 1, column, word, idx + 1) + || backtrack(board, row, column - 1, word, idx + 1) + || backtrack(board, row, column + 1, word, idx + 1); + board[row][column] = word.charAt(idx); + return result; + } + // end::answer[] + + public static void main(String[] args) { + _0079_WordSearch_2 solution = new _0079_WordSearch_2(); + char[][] board = { + {'A', 'B', 'C', 'E'}, + {'S', 'F', 'C', 'S'}, + {'A', 'D', 'E', 'E'}}; + String w1 = "ABCCED"; + boolean r1 = solution.exist(board, w1); + System.out.println((r1) + " : " + r1); + + String w2 = "SEE"; + boolean r2 = solution.exist(board, w2); + System.out.println((r2) + " : " + r2); + + String w3 = "ABCB"; + boolean r3 = solution.exist(board, w3); + System.out.println((!r3) + " : " + r3); + } +}