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

教育网站安全建设方案谷歌外链代发

教育网站安全建设方案,谷歌外链代发,限制网站访问ip,php网站怎么做题目链接 leetcode在线oj题——单词接龙 题目描述 字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 beginWord -> s1 -> s2 -> … -> sk&#xff1a; 每一对相邻的单词只差一个字母。 对于 1 < i < k 时&#xff…

题目链接

leetcode在线oj题——单词接龙

题目描述

字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 beginWord -> s1 -> s2 -> … -> sk:

每一对相邻的单词只差一个字母。
对于 1 <= i <= k 时,每个 si 都在 wordList 中。注意, beginWord 不需要在 wordList 中。
sk == endWord
给你两个单词 beginWord 和 endWord 和一个字典 wordList ,返回 从 beginWord 到 endWord 的 最短转换序列 中的 单词数目 。如果不存在这样的转换序列,返回 0 。

题目示例

示例1:
输入:beginWord = “hit”, endWord = “cog”, wordList = [“hot”,“dot”,“dog”,“lot”,“log”,“cog”]
输出:5
解释:一个最短转换序列是 “hit” -> “hot” -> “dot” -> “dog” -> “cog”, 返回它的长度 5。

示例2:
输入:beginWord = “hit”, endWord = “cog”, wordList = [“hot”,“dot”,“dog”,“lot”,“log”]
输出:0
解释:endWord “cog” 不在字典中,所以无法进行转换。

题目提示

  • 1 <= beginWord.length <= 10
  • endWord.length == beginWord.length
  • 1 <= wordList.length <= 5000
  • wordList[i].length == beginWord.length
  • beginWord、endWord 和 wordList[i] 由小写英文字母组成
  • beginWord != endWord
  • wordList 中的所有字符串 互不相同

解题思路

使用广度优先搜索
将字符串的所有字符都替换成其他的25个字符,查看wordList中是否有该单词,如果有就将该单词加入到队列中,最后再弹出该元素

例如:先将beginword加入到队列中
在这里插入图片描述
对hit的每一位的字符都进行遍历,将其变成其他的25个字母,例如先是hit的’h’,变成ait,发现ait并不在wordList中,继续变成bit…
第一个字符变换了25个字符都没有wordList中的字符串与之匹配

继续变换第二个字符‘i’,先是变成hat,然后是hbt…

一直将所有字符都替换查看是否匹配,如果匹配就将其放到队列里

最后只有将第二个字符变成o才有hot与之匹配,这时将hot放入队列,step++,将队列中的hit取出

在这里插入图片描述
然后继续将队列中的所有元素都拿出来,分别变换字符查看是否有匹配的,如果有并且没有遍历过,就放入队列中
在这里插入图片描述
继续重复上面的操作
在这里插入图片描述
继续重复

最终找到单词cog,返回step = 5

代码

class Solution {public int ladderLength(String beginWord, String endWord, List<String> wordList) {int step = 1;Queue<String> queue = new LinkedList<>();HashSet<String> isUsed = new HashSet<>();HashSet<String> dict = new HashSet<>();//添加第一个单词queue.offer(beginWord);isUsed.add(beginWord);//将链表转换为哈希表for (int i = 0; i < wordList.size(); i++) {dict.add(wordList.get(i));}while(!queue.isEmpty()){int size = queue.size();while(size != 0){String curString = queue.poll();if(curString.equals(endWord)){return step;}//修改单词中的一个字符for (int i = 0; i < curString.length(); i++) {StringBuffer tmp = new StringBuffer(curString);for (char ch = 'a'; ch <= 'z'; ch++) {tmp.setCharAt(i,ch);String newString = tmp.toString();//判断新的单词是否在词典中,并且没有搜索过if(!isUsed.contains(newString) && dict.contains(newString)){queue.offer(newString);isUsed.add(newString);}}}size--;}step++;}return 0;}
}
http://www.hrbkazy.com/news/38133.html

相关文章:

  • 盗版小说网站怎么赚钱网络营销的特点包括
  • 一起做网站17怎么下单深圳优化公司义高粱seo
  • wordpress如何恢复百度seo查询工具
  • 网站开发做前端还是后端app软件开发制作公司
  • 服务器可以吧网站做跳转吗高中同步测控优化设计答案
  • 云南建站网络营销第三版课本
  • 深圳百度seo代理泰州百度seo
  • 做网站学什么什么专业武汉网站推广优化
  • 小组做数据库网站青岛网络推广公司
  • 仿网站百度会怎么做重庆seo杨洋
  • 公司做网站的价格几千元b站2020推广网站
  • 做ppt选小图案的网站泰州网站排名seo
  • 做网站需要什么素材怎么做公众号
  • 如何建导航网站宁波网站seo诊断工具
  • 自己电脑怎么做网站服务器深圳专业建站公司
  • 宿迁做网站公司种子搜索引擎在线
  • 重庆做商城网站建设南宁seo营销推广
  • 富士康新闻最新消息新闻seo营销外包公司
  • 上海闵行区官网seo学徒是做什么
  • 南江县建设局网站广告营销策略有哪些
  • 网站文章做百度排名产品如何做网络推广
  • 有什么网站可以做微信app网站建设设计
  • 静态网站登陆怎么做发外链比较好的平台
  • 给鹤壁政府网站做维护的是那个公司成品短视频app下载有哪些
  • 南昌自主建站模板刚刚刚刚刚刚刚刚刚刚刚刚刚刚刚
  • 网站可分为哪两种类型深圳seo优化排名优化
  • 毕设用别人网站做原型网址搜索引擎
  • php做网站需要什么技术中国网站排名网
  • 服务号不认证可做微网站吗市场调研分析报告范文
  • 网站地图怎么添加seo常用的优化工具