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

网站制作答辩ppt怎么做网站开发硬件工程师待遇

网站制作答辩ppt怎么做,网站开发硬件工程师待遇,手机怎样制作链接,模板网站可以优化吗79.给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直…

79.给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。
单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。
示例 1:
输入:board = [[“A”,“B”,“C”,“E”],[“S”,“F”,“C”,“S”],[“A”,“D”,“E”,“E”]], word = “ABCCED”
输出:true
示例 2:
输入:board = [[“A”,“B”,“C”,“E”],[“S”,“F”,“C”,“S”],[“A”,“D”,“E”,“E”]], word = “SEE”
输出:true
示例 3:
输入:board = [[“A”,“B”,“C”,“E”],[“S”,“F”,“C”,“S”],[“A”,“D”,“E”,“E”]], word = “ABCB”
输出:false

  • 我的思路:首先由于不确定从哪个点开始可以构成目标单词,所以肯定是枚举每个点作为起点。这种路径问题,想都不用想肯定是 dfs,先想一下入参,当我从某个点开始找,那肯定入参要有坐标,我们还需要知道已经匹配到哪一步了,所以用一个数字来表示已匹配的单词字符数;接着就是出口,首先出了边界肯定要返回 false,由于题目说不能重复使用,所以递归过程中遇到重复的坐标也要返回 false,当然最容易想到的,当前坐标的字符和目标单词当前匹配字符不匹配也肯定返回 false。当匹配到最后一个字符时还没有返回 false,自然是只能返回 true 了。最后就是 dfs 的每一步的内容。由于方向不定,所以往上下左右寻找下一位匹配字符,有一个满足就继续寻找即可。
  •   String WORD;char[][] BOARD;int m,n;public boolean exist(char[][] board, String word) {BOARD = board;WORD = word;m=board.length;n=board[0].length;for(int i=0;i<m;i++){for(int j=0;j<n;j++){if(dfs(i,j,0))return true;}}return false;}public boolean dfs(int x,int y,int cur){// 超过边界if(x < 0 || x >= m || y < 0 || y >= n)return false;// word 的某一位字符和当前坐标处字符不匹配if(WORD.charAt(cur) != BOARD[x][y])return false;if(cur == WORD.length()-1 )return true;// 为了防止重复将字符置为空,这样下次和坐标处字符必定不匹配BOARD[x][y] = '\0';boolean up = dfs(x-1,y,cur+1);boolean down = dfs(x+1,y,cur+1);boolean left = dfs(x,y-1,cur+1);boolean right = dfs(x,y+1,cur+1);// 还原字符BOARD[x][y] = WORD.charAt(cur);return up || down || left || right;}
    
  • 上面的还原字符有必要说一下,这是我唯一没想到的一点。无论你用什么方式来防止重复访问某个坐标,你都需要还原这一步。我原本以为用一个 hashSet 记录该坐标是否访问过,下一次访问直接返回 false 即可。但是假设一条错误的路径会经过比如坐标 [2,2],然后将其标记为已访问过,最终该路径结果返回 false。但是,有可能正确的路径也包含了这个坐标 [2,2],但是由于错误路径提前把这个坐标访问掉了,所以你正确的路径反而没法访问了,到这个坐标直接返回了 false,所以需要还原。之所以这样能还原,我个人理解是因为比如还是 [2,2] 这个点,错误路径为 [1,2]->[2,2]->... 然后返回 false。而正确路径比如为 [1,2]->[1,3]->[2-3]->[2,2]->... 然后返回 true。在错误路径代码执行期间,在递归的第二层把 [2,2] 置空,之后的每一层递归都将无法访问这个点,而正确路径在递归的第四层才访问这个点,这时候当然无法访问了;而还原也就意味着,当那些错误的可能性被否决,只要你能够回溯到第二层递归,就代表我在第二层就把 [2,2] 用掉是不可行的,也就是说在第二层不能把 [2,2] 用掉。那么我自然要给你重新访问 [2,2] 的机会,所以有还原操作。也就是说我给错误路径访问 [2,2],他不中用,那我换个人给机会,肯定要公平地也给你一次访问 [2,2] 的机会。
http://www.yayakq.cn/news/251753/

相关文章:

  • 网站导航栏兼容性网站开发需要几个专业
  • 怎么注册自己网站吗wordpress主题在线制作
  • 浙江建设厅网站施工员报名互联网信息投诉平台入口
  • 淘宝里网站建设公司可以吗网络销售推广是做什么
  • 网站logo也叫做网站的淘宝客网站搭建教程
  • 网站开发费计入什么会计科目安卓app快速开发
  • 怎样创建自己公司的网站wordpress从入门到精通pdf
  • linux下wordpress建站wordpress主题转hexo
  • 登封网站设计有没有找项目的网站
  • 合肥生态建设职业培训学校网站建设项目信息类网站
  • 帮企业做网站潍坊高端网站建设价格
  • 商丘做建设网站的公司查询icp备案跟接入的网站
  • 有手机网站了还要微网站吗长春广告设计公司
  • 开饰品店网站建设预算搜索推广开户
  • 建设视频网站要求小程序的推广方法
  • 扬州网站建设网站织梦系统做网站
  • 做网站源代码怎么下载天津建筑工程公司有哪些
  • 做直发网站有实力营销型网站建设
  • 上海人才网官网站首页正规微商平台
  • 网站开发项目具体的流程营销型网站内容
  • 网站建设公司不挣钱的原因安徽省工程建设信息网官方网站
  • 扬州市城市建设监察支队网站网叶制作
  • 郑州做网站比较专业的机构做泥网站
  • win8风格门户网站网站建设费用细项
  • 网站备案可以自己备案吗wordpress tags页面
  • 宿迁大型三合一网站开发重庆企业官网建站快速搭建
  • 株洲市网站建设宁波网站设计服务收费价格
  • 网站登陆模板中国建筑人才网是什么网站
  • 校园网站设计描述Wordpress做手机网页
  • 网站建设需要注意问题银行门户网站建设ppt