leetcode79. 單詞搜索 網格地圖搜索+回溯經典寫法啦

      網友投稿 674 2022-05-28

      給定一個二維網格和一個單詞,找出該單詞是否存在于網格中。

      單詞必須按照字母順序,通過相鄰的單元格內的字母構成,其中“相鄰”單元格是那些水平相鄰或垂直相鄰的單元格。同一個單元格內的字母不允許被重復使用。

      示例:

      board =

      [

      ['A','B','C','E'],

      ['S','F','C','S'],

      ['A','D','E','E']

      ]

      給定 word = "ABCCED", 返回 true.

      給定 word = "SEE", 返回 true.

      給定 word = "ABCB", 返回 false.

      leetcode79. 單詞搜索 網格地圖搜索+回溯經典寫法啦

      思路:搜索回溯基本上是經典模板題了。

      class Solution {

      private boolean[][] marked;

      // x-1,y

      // x,y-1 x,y x,y+1

      // x+1,y

      private int[][] direction = {{-1, 0}, {0, -1}, {0, 1}, {1, 0}};

      // 盤面上有多少行

      private int m;

      // 盤面上有多少列

      private int n;

      private String word;

      private char[][] board;

      public boolean exist(char[][] board, String word) {

      m = board.length;

      if (m == 0)return false;

      n = board[0].length;

      marked = new boolean[m][n];

      this.word = word;

      this.board = board;

      for (int i = 0; i < m; i++)

      for (int j = 0; j < n; j++)

      if (dfs(i, j, 0))

      return true;

      return false;

      }

      private boolean dfs(int i, int j, int start) {

      if (start == word.length() - 1) {

      return board[i][j] == word.charAt(start);

      }

      if (board[i][j] == word.charAt(start)) {

      marked[i][j] = true;

      for (int k = 0; k < 4; k++) {

      int newX = i + direction[k][0];

      int newY = j + direction[k][1];

      if (newX >= 0 && newX < m && newY >= 0 && newY < n && !marked[newX][newY]) {

      if (dfs(newX, newY, start + 1)) {

      return true;

      }

      }

      }

      marked[i][j] = false;

      }

      return false;

      }

      }

      數據結構

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:大數據學習常見問題
      下一篇:Object Stroage Service OBS存儲對象
      相關文章
      国产亚洲综合久久| 亚洲国产精品无码久久SM| 亚洲av无码专区亚洲av不卡| 亚洲精品高清国产一线久久| 亚洲va中文字幕| 亚洲七久久之综合七久久| 国产亚洲精品国产| 亚洲中文字幕无码一区 | 亚洲精品无码久久久久sm| 亚洲五月午夜免费在线视频| 亚洲一欧洲中文字幕在线| 亚洲中文久久精品无码ww16| 精品亚洲视频在线观看| 亚洲av片在线观看| 婷婷亚洲综合五月天小说在线| 久久无码av亚洲精品色午夜| 精品亚洲AV无码一区二区三区| 久久香蕉国产线看观看亚洲片| 国产亚洲视频在线观看网址 | 亚洲熟女精品中文字幕| 亚洲黄色网站视频| 亚洲熟妇无码AV在线播放| 亚洲精品乱码久久久久久蜜桃不卡| 亚洲综合伊人久久综合| 亚洲午夜AV无码专区在线播放| 亚洲真人无码永久在线| 亚洲AV无码日韩AV无码导航| 亚洲日本va午夜中文字幕一区| 亚洲日韩欧洲无码av夜夜摸| 国产成A人亚洲精V品无码性色| 亚洲AV无码欧洲AV无码网站| 亚洲最大成人网色| 亚洲天堂中文资源| 亚洲小说图片视频| 亚洲午夜久久影院| 久久久久se色偷偷亚洲精品av| 亚洲人成网站18禁止| 国产亚洲精品美女| 亚洲欧洲日产国码av系列天堂| 亚洲avav天堂av在线不卡 | 中文无码亚洲精品字幕|