当前位置: 首页 > news >正文

校园网站建设意见google打开wordpress

校园网站建设意见,google打开wordpress,华为手机网站建设策划方案论文,app开发的网站❓剑指 Offer 12. 矩阵中的路径 难度#xff1a;中等 给定一个 m * n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中#xff0c;返回 true #xff1b;否则#xff0c;返回 false 。 单词必须按照字母顺序#xff0c;通过相邻的单元格内的字母构…❓剑指 Offer 12. 矩阵中的路径 难度中等 给定一个 m * n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中返回 true 否则返回 false 。 单词必须按照字母顺序通过相邻的单元格内的字母构成其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 例如在下面的 3×4 的矩阵中包含单词 ABCCED单词中的字母已标出。 示例 1 输入board [[“A”,“B”,“C”,“E”],[“S”,“F”,“C”,“S”],[“A”,“D”,“E”,“E”]], word “ABCCED” 输出true 示例 2 输入board [[“a”,“b”],[“c”,“d”]], word “abcd” 输出false 提示 m board.lengthn board[i].length1 m, n 61 word.length 15board 和 word 仅由大小写英文字母组成 注意本题 79. 单词搜索 相同。 思路回溯法 使用回溯法backtracking进行求解它是一种暴力搜索方法通过搜索所有可能的结果来求解问题。 回溯法在一次搜索结束时需要进行回溯回退将这一次搜索过程中设置的状态进行清除从而开始一次新的搜索过程。 例如下图示例中从 f 开始下一步有 4 种搜索可能 如果先搜索 b需要将 b 标记为已经使用防止重复使用。在这一次搜索结束之后需要将 b 的已经使用状态清除并搜索 c。 代码(C、Java) C class Solution { private:vectorpairint, int dirs{{0, 1}, {1, 0}, {0, -1}, {-1, 0}};int m, n;bool check(vectorvectorchar board, vectorvectorint visited, int i, int j, string s, int k){if(board[i][j] ! s[k]) return false;if(k s.size() - 1) return true;visited[i][j] 1;bool ans false;for(auto dir : dirs){int cur_i i dir.first, cur_j j dir.second;if(cur_i 0 cur_i m cur_j 0 cur_j n visited[cur_i][cur_j] 0) {if(check(board, visited, cur_i, cur_j, s, k 1)){ans true;break;}}}visited[i][j] 0;return ans;} public:bool exist(vectorvectorchar board, string word) {m board.size(); n board[0].size(); vectorvectorint visited(m, vectorint(n));for(int i 0; i m; i){for(int j 0; j n; j){if(check(board, visited, i, j, word, 0))return true;}}return false;} };Java class Solution {private int[][] dirs {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};private int m, n;private boolean check(char[][] board, int[][] visited, int i, int j, String s, int k){if(board[i][j] ! s.charAt(k)) return false;if(k s.length() - 1) return true;visited[i][j] 1;boolean ans false;for(int[] dir : dirs){int cur_i i dir[0], cur_j j dir[1];if(cur_i 0 cur_i m cur_j 0 cur_j n visited[cur_i][cur_j] 0) {if(check(board, visited, cur_i, cur_j, s, k 1)){ans true;break;}}}visited[i][j] 0;return ans;}public boolean exist(char[][] board, String word) {m board.length; n board[0].length; int[][] visited new int[m][n];for(int i 0; i m; i){for(int j 0; j n; j){if(check(board, visited, i, j, word, 0))return true;}}return false;} }运行结果 复杂度分析 时间复杂度一个非常宽松的上界为 O ( m n ∗ 3 l ) O(mn*3^l) O(mn∗3l)其中 m , n 为网格的长度与宽度l 为字符串 word 的长度。在每次调用函数 check 时除了第一次可以进入 4 个分支以外其余时间我们最多会进入 3 个分支因为每个位置只能使用一次所以走过来的分支没法走回去。空间复杂度 O ( m n ) O(mn) O(mn)。我们额外开辟了 O ( m n ) O(mn) O(mn) 的 visited 数组同时栈的深度最大为 O ( m i n ⁡ ( l , m n ) ) O(min⁡(l, mn)) O(min⁡(l,mn))。。 题目来源力扣。 放弃一件事很容易每天能坚持一件事一定很酷一起每日一题吧 关注我LeetCode主页 / CSDN—力扣专栏每日更新 注 如有不足欢迎指正
http://www.yutouwan.com/news/53920/

相关文章:

  • 网站怎么设置qq怎样购买域名
  • 广东商城网站建设报价常州男科医院哪一个好
  • 网站的软文 怎么做推广英文网站怎么推广
  • 宣讲家网站做四讲四有模范wordpress主题grace7
  • 静态网站登陆怎么做深圳app网站建设陈俊兵
  • 个人域名备案做企业网站英文企业网站模板
  • 如何在百度创建网站网站上传服务器教程
  • 网站策划的重要性自己做彩票网站犯法吗
  • 网站备案用英文中国手工活加工网官网
  • 网站开发创新点网站被入侵别人是怎么做跳转的
  • 社交网站建设网站软件工程师报名
  • 强生网站还要怎样做做网站的公司算外包公司吗
  • 太原住房与城乡建设厅网站前端会员中心wordpress
  • 南昌百度网站快速排名邢台学校网站建设报价
  • 一诺互联网站建设公司家电网站首页制作
  • 昆山网站维护南通做网站的公司
  • 宣城高端网站建设wordpress调用评论
  • 江门住房与城乡建设局官方网站wordpress本地
  • wordpress插件 图片口碑好的常州网站优化
  • 请人做网站得多少钱php后台网站开发教程
  • 旅游网站系统建设一个购物交易网站怎么做
  • 建ic网站广西智能网站建设平台
  • 排版设计模板安新seo优化排名网站
  • 庆阳网站设计京东官网登录
  • 网站没有问题但是一直做不上首页开发软件开发
  • 手机微网站模板手机建站平台哪个便宜
  • 怎么做短链接网站建网站做外贸
  • 网站首页代码怎么做网站怎么发布到服务器
  • 大气物流网站源码浙江省建设培训中心网
  • 怎么看出是模板网站网站建设的请示