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

孝感网站建设xgshwordpress评论框required

孝感网站建设xgsh,wordpress评论框required,网站建设代理招标,北京小程序设计制作单词搜索 给出一个二维字符数组和一个单词&#xff0c;判断单词是否在数组中出现&#xff0c; 单词由相邻单元格的字母连接而成&#xff0c;相邻单元指的是上下左右相邻。同一单元格的字母不能多次使用。 数据范围&#xff1a; 0 < 行长度 < 100 0 < 列长度 <…

单词搜索

给出一个二维字符数组和一个单词,判断单词是否在数组中出现,

单词由相邻单元格的字母连接而成,相邻单元指的是上下左右相邻。同一单元格的字母不能多次使用。

数据范围:

0 < 行长度 <= 100

0 < 列长度 <= 100

0 < 单词长度 <= 1000

回溯/深搜

深度优先搜索,我们定义这样一种搜索顺序,即先枚举单词的起点,然后依次枚举单词的每个字母。在这个过程中需要将已经使用过的字母改成一个特殊字母,以避免重复使用字符。

在主函数中两层循环遍历整个二维数组,找出所有满足等于单词第一个字符的,然后创建一个深搜函数,把这个节点的下标.以及第几个字母传入dfs函数,这个函数用于判断单词是否在二维数组中.

dfs函数的函数头:boolean dfs(String[] board, int i, int j, int pos)

//pos是记录搜索到哪个字母了

函数体:从传入的结点开始向四周搜索(可以借助偏移数组)

同时,对搜索过的坐标进行标记,避免重复搜索

如果满足不越界,没判断过且等于对应单词字符,就递归下一个

所有都满足就返回true,反之返回false

结束条件:搜索到单词的最后一个字符

注意:可以将一些函数中用到的数据定义为全局变量,减少参数传递

时间复杂度:单词起点一共有 n2个,单词的每个字母一共有上下左右四个方向可以选择,但由于不能走回头路,所以除了单词首字母外,仅有三种选择。所以总时间复杂度是 O(n2·3k)。 

代码:

import java.util.*;
public class Solution {int m, n;int[] dx = {0, 0, 1, -1};//偏移数组int[] dy = {1, -1, 0, 0};char[] word = {};boolean[][] ans;//用于标记是否已经搜索public boolean exist (String[] board, String _word) {word = _word.toCharArray();m = board.length;n = board[0].length();ans = new boolean[m][n];for(int i = 0; i < m; i++) {for(int j = 0; j < n; j++) {if(word[0] == board[i].charAt(j)) {//遍历所有字母if(dfs(board, i, j, 0) == true) return true;}}}return false;}public boolean dfs(String[] board, int i, int j, int pos) {if(pos == word.length-1) {//pos是记录搜索到哪个字母了return true;}ans[i][j] = true;//标记以搜索for(int a = 0; a < 4; a++) {//上下左右搜索int x = i + dx[a];int y = j + dy[a];if(x < m && x >= 0 && y < n && y >= 0 && !ans[x][y] && board[x].charAt(y) == word[pos+1]) {//没搜索过且字母相等if(dfs(board, x, y, pos+1)) return true;}}ans[i][j] = false;//走到这里说没搜到,更改标记为未搜return false;}
}

 

http://www.dtcms.com/wzjs/816874.html

相关文章:

  • 广州市手机网站建设公司网站建设z亿玛酷1负责
  • 怎样建设网站空间网站建设所需费用明细
  • 建设交易网站多少钱电子商务的网站的建设内容
  • 网站首页布局设计原理用vue-cli做的网站
  • 如何建立像百度一样的网站wordpress 运营
  • 青岛网站建设与推广市场调研公司的最主要职能是
  • 太原手机模板建站哪些网站做农产品电子商务物流
  • 阿勒泰网站建设哪些网站有设计缺点
  • 销售网站快速建立贵州西能电力建设有限公司网站
  • 外国 网站模板企业电子商务网站开发实验报告
  • 网站访客qq获取系统 报价网站logo衔接
  • 如何做网站热力图php语言 网站建设
  • 宁德市住房和城乡建设局网站打不开做美团旅游网站多少钱
  • 网站开发实现的环境全球设计师知识更新服务平台
  • 怎么做一个网站页面wordpress添加动态图标
  • 湖南百度推广代理商seo推广专员工作内容
  • 如何自己做软件网站网站做优化得话从哪里优化
  • 网络科技网站排名网站需要哪些费用
  • 网站开发现状淄博做网站建设
  • 深圳网站建设公司jm3q做网站虚拟主机怎么选择
  • 深圳住房建设局网站首页上海出国留学中介
  • 大型网站建设哪家快泉州网站建设-泉州网站建设
  • 柳州网站推广哪家好wordpress源代码下载
  • 沈阳网站关键字优化珠海企业网站建设费用
  • 推广网站的网址和网鱼相匹配子夜免费观看
  • 银川网站建设那家公司比较好织梦网站首页是哪个文件
  • 张家口建设局网站wordpress主题修改软件
  • 王野天女演员葛优照片烟台网站建设优化
  • 站长网站提交原神网页制作素材
  • 网站建设培训东莞手机网站开发 视频