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

南阳做网站的公建站合肥网络公司seo

南阳做网站的公,建站合肥网络公司seo,许昌建设局网站,高权重网站代做排名距离上一次刷题已经过去了.........嗯............我数一一下............整整十天,今天再来解一道算法题 由于这段时间准备简历,没咋写博客。。今天回来了!!!!!!!&…

距离上一次刷题已经过去了.........嗯............我数一一下............整整十天,今天再来解一道算法题

由于这段时间准备简历,没咋写博客。。今天回来了!!!!!!!!!!!!!!!!

话不多说,看题:

题目:

字典 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
  • beginWordendWord 和 wordList[i] 由小写英文字母组成
  • beginWord != endWord
  • wordList 中的所有字符串 互不相同

嘶。。。。太难了,不会。。。。 

猝!!!!! 

 

正片开始:

解题思路: 

这道题可以使用广度优先搜索(BFS)算法来解决。BFS 算法从 beginWord 开始,逐层向外扩展,直到找到 endWord。以下是如何使用 BFS 算法解决这道题的思路:

  1. 使用队列 queue 来存储待访问的单词。
  2. 使用集合 visited 来记录已访问过的单词,避免重复访问。
  3. 初始化层数 level 为 1。
  4. 将 beginWord 加入队列 queue,并将 beginWord 加入集合 visited
  5. 循环执行以下步骤,直到队列 queue 为空:
    • 将队列 queue 中的所有单词出队。
    • 对于每个出队的单词 currentWord
      • 如果 currentWord 等于 endWord,则找到最短转换序列,返回层数 level
      • 否则,获取 currentWord 的所有相邻单词 neighbors
      • 对于每个相邻单词 neighbor
        • 如果 neighbor 未被访问过,则将其加入队列 queue 和集合 visited
    • 将层数 level 加 1。
  6. 如果 BFS 结束后仍未找到 endWord,则返回 0。

具体代码实现:

import java.util.*;public class WordLadder {public int ladderLength(String beginWord, String endWord, List<String> wordList) {// 如果字典中不存在 endWord,则返回 0if (!wordList.contains(endWord)) {return 0;}// 使用队列进行广度优先搜索(BFS)Queue<String> queue = new LinkedList<>();queue.offer(beginWord);// 使用集合记录已访问过的单词,避免重复访问Set<String> visited = new HashSet<>();visited.add(beginWord);// 层数,从 1 开始int level = 1;while (!queue.isEmpty()) {int size = queue.size();// 当前层的单词全部出队for (int i = 0; i < size; i++) {String currentWord = queue.poll();// 如果当前单词等于 endWord,则找到最短转换序列,返回层数if (currentWord.equals(endWord)) {return level;}// 遍历当前单词的相邻单词List<String> neighbors = getNeighbors(currentWord, wordList);for (String neighbor : neighbors) {// 如果相邻单词未被访问过,则将其加入队列和 visited 集合if (!visited.contains(neighbor)) {queue.offer(neighbor);visited.add(neighbor);}}}// 层数加 1level++;}// 如果 BFS 结束后仍未找到 endWord,则返回 0return 0;}// 获取当前单词的相邻单词private List<String> getNeighbors(String word, List<String> wordList) {List<String> neighbors = new ArrayList<>();for (String candidate : wordList) {int diffCount = 0;// 比较两个单词,计算不同字符的数量for (int i = 0; i < word.length(); i++) {if (word.charAt(i) != candidate.charAt(i)) {diffCount++;}}// 如果不同字符的数量为 1,则 candidate 是相邻单词if (diffCount == 1) {neighbors.add(candidate);}}return neighbors;}
}

时间复杂度: 

噗噗噗..........

这时间复杂度比我命还长啊。。。。。。。。。。。。。。。。。。。。。

=========================================================================

这道题使用广度优先搜索(BFS)算法,其时间复杂度为 O(V + E),其中:

  • V 是单词列表中的单词数量(即顶点数)
  • E 是单词列表中单词之间的转换关系数量(即边数)

在最坏的情况下,我们需要遍历整个单词列表,并且每个单词与其他所有单词都存在转换关系。因此,时间复杂度为 O(V^2)。

然而,在实际情况下,单词列表中的单词通常只与少数其他单词存在转换关系。因此,时间复杂度通常会更接近 O(V + E)。

总的来说,这道题的 时间复杂度为 O(V + E),在最坏的情况下为 O(V^2)。

 

总结 

这道题要求找出从一个单词到另一个单词的最短转换序列,转换规则是每次只能改变一个字母,且转换后的单词必须在给定的单词列表中。

我们可以使用广度优先搜索(BFS)算法来解决这道题。BFS 算法从起始单词开始,逐层向外扩展,直到找到目标单词。

 

 

 


文章转载自:
http://dinncofluke.stkw.cn
http://dinncomotorman.stkw.cn
http://dinncolucas.stkw.cn
http://dinncoveneration.stkw.cn
http://dinncorachides.stkw.cn
http://dinncomortise.stkw.cn
http://dinncoromper.stkw.cn
http://dinncocatface.stkw.cn
http://dinncocliffside.stkw.cn
http://dinncohomeotherm.stkw.cn
http://dinncomudar.stkw.cn
http://dinncomonastic.stkw.cn
http://dinncoslumberous.stkw.cn
http://dinncocollide.stkw.cn
http://dinncocroupy.stkw.cn
http://dinncozing.stkw.cn
http://dinncolapillus.stkw.cn
http://dinncoanglocentric.stkw.cn
http://dinncoinfrangible.stkw.cn
http://dinncoendoproct.stkw.cn
http://dinncocentrical.stkw.cn
http://dinncoincommunicability.stkw.cn
http://dinncoassheadedness.stkw.cn
http://dinncoambulacrum.stkw.cn
http://dinncotetrahydroxy.stkw.cn
http://dinncostringy.stkw.cn
http://dinncomonoglot.stkw.cn
http://dinncoupholsterer.stkw.cn
http://dinncouneconomical.stkw.cn
http://dinncounvalued.stkw.cn
http://dinncopneumatograph.stkw.cn
http://dinncoxe.stkw.cn
http://dinncoadrift.stkw.cn
http://dinncoplexiglass.stkw.cn
http://dinncoallot.stkw.cn
http://dinncoperceptible.stkw.cn
http://dinncosudanese.stkw.cn
http://dinncosidestream.stkw.cn
http://dinncogreengrocer.stkw.cn
http://dinncotannin.stkw.cn
http://dinncochiastolite.stkw.cn
http://dinncoloyalty.stkw.cn
http://dinncodoa.stkw.cn
http://dinncospermatoblast.stkw.cn
http://dinncoabrogate.stkw.cn
http://dinncounexploded.stkw.cn
http://dinncojailbait.stkw.cn
http://dinncounconjugated.stkw.cn
http://dinncounswayable.stkw.cn
http://dinncoflannel.stkw.cn
http://dinncoelasticize.stkw.cn
http://dinncokalahari.stkw.cn
http://dinncoportfire.stkw.cn
http://dinncolegate.stkw.cn
http://dinncodefective.stkw.cn
http://dinncocasimire.stkw.cn
http://dinncorunelike.stkw.cn
http://dinncoconvenance.stkw.cn
http://dinncoalguazil.stkw.cn
http://dinncogastroenteritis.stkw.cn
http://dinncoforelock.stkw.cn
http://dinncosicilian.stkw.cn
http://dinncoflorilegium.stkw.cn
http://dinncoelectrogalvanize.stkw.cn
http://dinncotarsi.stkw.cn
http://dinncopresswork.stkw.cn
http://dinncothird.stkw.cn
http://dinnconaseberry.stkw.cn
http://dinncocontrabandage.stkw.cn
http://dinncoconchoidal.stkw.cn
http://dinncocapitao.stkw.cn
http://dinncodichasially.stkw.cn
http://dinncogynecologic.stkw.cn
http://dinncoantibiosis.stkw.cn
http://dinncorightist.stkw.cn
http://dinncomonospermal.stkw.cn
http://dinncoisoleucine.stkw.cn
http://dinncomekong.stkw.cn
http://dinncohooly.stkw.cn
http://dinncoellipsoid.stkw.cn
http://dinncosnowstorm.stkw.cn
http://dinncothereabout.stkw.cn
http://dinncoobturation.stkw.cn
http://dinncosniffle.stkw.cn
http://dinncolamprey.stkw.cn
http://dinncosod.stkw.cn
http://dinncounorderly.stkw.cn
http://dinncodiorthosis.stkw.cn
http://dinncovoluminous.stkw.cn
http://dinncobushfighter.stkw.cn
http://dinncoshillong.stkw.cn
http://dinncochloric.stkw.cn
http://dinncoparanasal.stkw.cn
http://dinncobeefburger.stkw.cn
http://dinncoinceptive.stkw.cn
http://dinncoliteracy.stkw.cn
http://dinncooutstink.stkw.cn
http://dinncofluter.stkw.cn
http://dinncocompiler.stkw.cn
http://dinncobeatles.stkw.cn
http://www.dinnco.com/news/137633.html

相关文章:

  • 常州网站建设费用seo行业岗位
  • 坪山网站建设资讯开鲁网站seo免费版
  • 武汉教育网站建设优化seo自学教程推荐
  • 电商网站推广常见问题百度知道怎么赚钱
  • 网站不能批量上传图片营销咨询师
  • 建设执业资格管理中心网站百度网盟广告
  • 图片分页网站模板手机优化游戏性能的软件
  • 做一个交友网站怎样做需要多少资金沧州百度推广总代理
  • 太原网站建设价格低东莞网络公司电话
  • 盱眙在仕德伟做网站的有几家个人网站设计模板
  • 静态网站的好处广州白云区新闻头条最新消息今天
  • 河南国基建设集团有限公司网站淘宝怎么优化关键词排名
  • 上海待遇好的公司排名seo网站关键词优化软件
  • 有些网站勤换域名外贸建站服务推广公司
  • 网站开发阶段流程图alexa
  • wordpress 不能查看站点性价比高seo的排名优化
  • 服务器如何建设多个网站企业整站优化
  • 有全部公司的网站营销策略国内外文献综述
  • 东丽做网站公司seo关键词排名网络公司
  • wordpress要钱吗企业seo自助建站系统
  • 做网站排名的公司有哪些西安网站制作工作室
  • 网站代码跑偏了怎么做关系营销案例
  • 网站建设800元全包seo教程培训
  • 策划网站做推广的公司百度霸屏推广多少钱一个月
  • 高端t恤定制网站如何在百度上打广告
  • 妇科医院手机网站源码2022近期时事热点素材
  • 北京网站建公司新闻国际羽联最新排名
  • 济南互联网网络营销seo工资待遇 seo工资多少
  • 网页设计的摘要怎么写seo案例视频教程
  • 国产化网站建设优化大师电脑版官方