给定一个的二维网格和一个单词,找出该单词是否存在于网格中。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。-笔试面试资料

这是qklbishe.com第15411 篇笔试面试资料
提供答案分析,通过本文《给定一个的二维网格和一个单词,找出该单词是否存在于网格中。
单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

给定一个给定一个的二维网格和一个单词,找出该单词是否存在于网格中。   单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。的二维网格和一个单词,找出该单词是否存在于网格中。
单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

给定一个的二维网格和一个单词,找出该单词是否存在于网格中。   单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 ieeeho
import java.util.*;   public class Solution {     /**      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可      *      * 如果该单词是否存在于网格中,返回true,否则返回false      * @param board char字符型二维数组 二维网格      * @param word string字符串 单词      * @return bool布尔型      */          //超时,测试用例通过9/10     public boolean exist (char[][] board, String word) {         // write code here         StringBuilder sr = new StringBuilder();         for (int i = 0; i < board.length; i++) {             for (int j = 0; j < board[0].length; j++) {                 if (dfs(board, i, j, 0, word)) return true;             }         }         return false;     }          public boolean dfs(char[][] board, int x, int y, int index, String word) {         if (x < 0 || x >= board.length || y < 0 || y >= board[0].length || word.charAt(index) != board[x][y]) return false;         if (index == word.length() - 1) return true;         board[x][y] = '/';         boolean ans = dfs(board, x - 1, y, index + 1, word) ||                       dfs(board, x, y + 1, index + 1, word) ||                       dfs(board, x + 1, y, index + 1, word) ||                       dfs(board, x, y - 1, index + 1, word);         board[x][y] = word.charAt(index);         return ans;             } }

2021-08-30 22:32:21 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 给定一个的二维网格和一个单词,找出该单词是否存在于网格中。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。-笔试面试资料

提供最优质的资源集合

立即查看 了解详情