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

127. 单词接龙

https://leetcode.cn/problems/word-ladder/description/?envType=study-plan-v2&envId=top-interview-150

思路:这题好像和上一题 433. 最小基因变化 基本一样,都是通过bfs找最短路径。

class Solution {public int ladderLength(String beginWord, String endWord, List<String> wordList) {boolean exist = false;for(String s : wordList) {if(s.equals(endWord)) {exist = true;break;}}if(!exist) return 0;// 存储字符串s与endWord的最短路径HashMap<String, Integer> map = new HashMap<>();map.put(endWord, 0);map.put(beginWord, -1); // -1代表还没找到最短路径Queue<String> queue = new LinkedList<>();Queue<String> temp = new LinkedList<>();queue.add(endWord);int cnt = 1;while(!queue.isEmpty()) {cnt++;while(!queue.isEmpty()) {String s = queue.poll();// 初始状态能否走到s状态if(differ(beginWord, s) == 1) {return cnt;}for(String str : wordList) {if(!map.containsKey(str) && differ(str, s) == 1) {temp.add(str);map.put(str, cnt);}}}queue = temp;temp = new LinkedList<>();}return 0;}/*** 计算两个字符串之间的差异* @param s 被计算串* @param target 目标串* @return 差异的字符数*/public int differ(String s, String target) {int cnt = 0;for (int i = 0; i < s.length(); i++) {if (s.charAt(i) != target.charAt(i)) {cnt++;}}return cnt;}
}

http://www.dtcms.com/a/208258.html

相关文章:

  • 苍穹外卖day1实战,Idea中Lombok编译时“找不到符号”,更改JDK版本最全流程,作者亲身尝试
  • java Sm2SignWithSM3转php
  • 不做算法备案后果
  • VSCode如何像Pycharm一样“““回车快速生成函数注释文档?如何设置文档的样式?
  • Ubuntu安装编译Pangolin时所需的OpenGL依赖
  • STM32开发环境配置——VSCode+PlatformIO + CubeMX + FreeRTOS的集成环境配置
  • Oracle 的 MOVE 操作是否重建表?
  • springboot配置redis lettuce连接池,以及连接池参数解释
  • 从逻辑学视角严谨证明数据加密的数学方法与实践
  • 【Ubuntu】如何在一个脚本文件中跑三个python文件?以及端口被占的解决方法
  • 企业级云原生爬虫架构与智能优化
  • ArcGIS Pro 3.4 二次开发 - 地理数据库
  • PostgreSQL 数据库备份与恢复
  • 从源码编译支持ffmpeg(H264编码)的opencv(创建mp4视频报错:H264 is not supported with codec id 28)
  • Oracle 基础知识作业的使用
  • Linux-线程同步于互斥
  • Docker Volumes 还原指南
  • 超详细openBmc Virtual Media 功能及实现流程(1)
  • 使用Rancher在CentOS 环境上部署和管理多Kubernetes集群
  • nginx配置跨域请求,后台不用配置啦,完美
  • VMware虚拟机突然无法ssh连接
  • 消除爆红 [vue/no-unused-vars] ‘row‘ is defined but never used.eslint-plugin-vue
  • 【NGINX】-11 nginx 平滑升级
  • 如何使用patch-package给npm包打补丁
  • halcon 连接相机
  • 扫描电镜:打开微观世界的“超维相机“
  • 晶圆隐裂检测提高半导体行业效率
  • LNCS-2009《Adaptive Sampling for $k$-Means Clustering》
  • 探索Dify:开启大语言模型应用开发新时代
  • 2025电工杯数学建模A题思路数模AI提示词工程