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

【BFS 解决最短路问题】3. 单词接⻰(hard)

BFS 解决最短路问题

  • 3. 单词接⻰(hard)
    • 题⽬描述:
    • 解法:
      • 算法思路:
    • 算法代码:

3. 单词接⻰(hard)

题⽬链接:127. 单词接⻰

题⽬描述:

字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是⼀个按下述规格形成的序列 beginWord -> s(1) -> s(2) -> … -> s(k) :
• 每⼀对相邻的单词只差⼀个字⺟。
• 对于 1 <= i <= k 时,每个 s(i) 都在 wordList 中。注意, beginWord 不需要在 wordList中。
• s(k) = = 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 中的所有字符串 互不相同

解法:

在这里插入图片描述

算法思路:

跟上题⼀样~2. 最⼩基因变化(medium)

算法代码:

class Solution
{public int ladderLength(String beginWord, String endWord, List<String> wordList) {Set<String> hash = new HashSet<>();for(String s : wordList) hash.add(s);Set<String> vis = new HashSet<>(); // 标记已经搜索过的单词if(!hash.contains(endWord)) return 0;Queue<String> q = new LinkedList<>();q.add(beginWord);vis.add(beginWord);int ret = 1;while(!q.isEmpty()){ret++;int sz = q.size();while(sz-- != 0){String t = q.poll();for(int i = 0; i < t.length(); i++){char[] tmp = t.toCharArray();for(char ch = 'a'; ch <= 'z'; ch++){tmp[i] = ch;String next = new String(tmp);if(hash.contains(next) && !vis.contains(next)){if(next.equals(endWord)) return ret;q.add(next);vis.add(next);}}}}}return 0;}
}
http://www.dtcms.com/a/578393.html

相关文章:

  • 霸州住房和城乡建设厅网站wordpress调用header
  • openvswitch-ovs-流表
  • [LeetCode]Hot100系列.贪心总结+思想总结
  • Utools插件实现Web Bluetooth
  • 网站备案在哪里公众号开发零基础教程
  • 不坑盒子的插入网页功能是完全免费的!
  • 外贸怎么做公司网站网站平台建设需求表
  • docker下载配置redis
  • 深圳工程建设信息网站wordpress 前台投稿
  • wordpress会建站怎么找工作app地推网
  • redisCluster集群搭建 完全分布式
  • PSUIP正式发布!打通AI到UI高效路径,破解适配难题
  • Terminator SSH 管理器 — 一款适用于 Terminator 的精美 SSH 连接插件
  • 外贸网站电子建设网站建设预算表制作
  • 10大免费软件下载网站响应式网站的优势有那些的呢
  • Redis_6_String
  • 在orangepi 5plus 使用移远usb 4g sim rndis
  • 网站集约化建设调研报告梁山有没有做企业网站的
  • Git常用命令大全及提交推送详解
  • Rust 练习册 14:RefCell 实际使用场景
  • 新手做网站优化怎么做宾馆网站模板
  • app软件网站开发门户网站建设思维导图
  • java学习--重载
  • 懒人手机网站模板个人网页制作成品图
  • OpenAI 生产环境终极指南:从原型到规模化
  • YL4056H单节锂电池线性充电芯片
  • 静态IP与动态IP的定义
  • RAID技术全面解析:从基础原理到组合算法
  • 2.3.5 浮点数的表示与运算【2017统考真题】
  • 购物网站建设渠道字体在线生成器