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

wordpress 顶部工具条网站怎么做优化步骤

wordpress 顶部工具条,网站怎么做优化步骤,云南云桥建设股份有限公司官方网站,建站之星用做什么网站【问题描述】[中等] 请设计一个函数#xff0c;用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始#xff0c;每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格#xff0c;那么该路径不能再次进入…【问题描述】[中等] 请设计一个函数用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格那么该路径不能再次进入该格子。例如在下面的3×4的矩阵中包含一条字符串“bfce”的路径路径中的字母用加粗标出。[[a,b,c,e], [s,f,c,s], [a,d,e,e]]但矩阵中不包含字符串“abfb”的路径因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后路径不能再次进入这个格子。示例 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 提示1 board.length 200 1 board[i].length 200 【解答思路】 DFS 时间复杂度 class Solution {public boolean exist(char[][] board, String word) {char[] words word.toCharArray();for(int i 0; i board.length; i) {for(int j 0; j board[0].length; j) {if(dfs(board, words, i, j, 0)) return true;}}return false;}boolean dfs(char[][] board, char[] word, int i, int j, int k) {if(i board.length || i 0 || j board[0].length || j 0 || board[i][j] ! word[k]) return false;if(k word.length - 1) return true;char tmp board[i][j];board[i][j] /;boolean res dfs(board, word, i 1, j, k 1) || dfs(board, word, i - 1, j, k 1) || dfs(board, word, i, j 1, k 1) || dfs(board, word, i , j - 1, k 1);board[i][j] tmp;return res;} }归搜索匹配字符串过程中需要 board[i][j] ‘/’ 来防止 ”走回头路“ 。当匹配字符串不成功时会回溯返回此时需要board[i][j] tmp 来”取消对此单元格的标记”。 在DFS过程中每个单元格会多次被访问的 board[i][j] /只是要保证在当前匹配方案中不要走回头路。 一层一层向下递归来进行字符串匹配的回溯的时候要“释放“这个单元格。匹配失败或者成功都会执行 board[i][j] tmp 匹配成功也需要将 True 结果一层一层返回直至起始点以获取匹配成功的结果 class Solution {private int[][] direct {{-1, 0}, {0, -1}, {1, 0}, {0, 1}};private boolean[][] visited;public boolean exist(char[][] board, String word) {char[] words word.toCharArray();int row board.length;int col board[0].length;this.visited new boolean[row][col];for (int i 0; i row; i) {for (int j 0; j col; j) {if (dfs(board, i, j, words, 0)) {return true;}}}return false;}private boolean dfs(char[][] board, int x, int y, char[] word, int index) {if (board[x][y] word[index]) {if (index 1 word.length) {return true;}visited[x][y] true;for (int i 0; i 4; i) {int newX x direct[i][0];int newY y direct[i][1];if (inArea(newX, newY, board.length, board[0].length) !visited[newX][newY]) {if (dfs(board, newX, newY, word, index 1)) {return true;}}}visited[x][y] false;}return false;}private boolean inArea(int x, int y, int row, int col) {return x 0 y 0 x row y col;} }【总结】 1.细节 1.1 方向数组 private int[][] direct {{-1, 0}, {0, -1}, {1, 0}, {0, 1}}; 1.2 char[] words word.toCharArray(); 替代Sting.charAt()charAt每次都要检查边界 1.3 边界判定 private boolean inArea(int x, int y, int row, int col) { return x 0 y 0 x row y col; } } 2.回溯 遍历时对原结果有影响 在dfs递归前后置状态-恢复状态 visited[x][y] true;dfsvisited[x][y] false;3. 算法原理 深度优先搜索 可以理解为暴力法遍历矩阵中所有字符串可能性。DFS 通过递归先朝一个方向搜到底再回溯至上个节点沿另一个方向搜索以此类推。 剪枝 在搜索中遇到 这条路不可能和目标字符串匹配成功 的情况例如此矩阵元素和目标字符不同、此元素已被访问则应立即返回称之为 可行性剪枝 。 转载链接https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/solution/mian-shi-ti-12-ju-zhen-zhong-de-lu-jing-shen-du-yo/
http://www.sadfv.cn/news/337890/

相关文章:

  • 如何建立像百度一样的网站wordpress 企业主题
  • 领手工在家做的网站免费注册企业邮箱域名
  • html5公司网站欣赏酒类网站建设策划书
  • ps做网站显示内容参考安丘住房建设局网站
  • 免费开源网站建设系统一键搭建网站
  • 模板网站建设公司WordPress文章中的编辑去掉
  • 做自媒体可以搬运国外网站新闻吗ppt模板下载免费版软件
  • 资讯网站做app小说网站开发php
  • 建筑公司网站大全网站的维护方案
  • 网站建设上传和下载wordpress php 5.3.x
  • 建设部网站 造价工程师为拟建设的网站申请一个域名
  • 图书类网站开发的背景凡客商城
  • 网站怎么做防盗上海seo方案
  • 网站绩效营销南山电商网站建设
  • 郑州英语网站建设怎么在wordpress中套用同行网页
  • 月付购物网站建站遂宁市建设银行网站
  • js模版网站网级移动营销app下载
  • 外贸网站模板下载wordpress添加字幕
  • 企业网站标签页是什么学平面设计的网站
  • 餐饮手机网站建设百度智能建站平台
  • 二手网站建设情况网站 推广 实例
  • 网站顶部广告素材wordpress不兼容插件
  • 外贸模板网站深圳农业咨询平台网站建设方案
  • 国外网站 国内访问速度西安的互联网营销公司
  • 开个做网站的公司 知乎wordpress后台设置教程
  • 内江住房和城乡建设厅网站广州大型公司名单
  • 百度网站排名wordpress 百度文库
  • 家具网站建设wordpress后台空白
  • 网站建设工厂免费logo在线制作头像
  • 行业网站 源码百度网盟推广费用投入