OJ练习第167题——单词接龙

news/2024/10/18 6:08:46/

单词接龙

力扣链接:127. 单词接龙

题目描述

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

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

示例

在这里插入图片描述

Java代码

class Solution {//BFS的思想public int ladderLength(String beginWord, String endWord, List<String> wordList) {Queue<String> queue = new LinkedList<String>();//少不了队列queue.add(beginWord);boolean[] marked = new boolean[wordList.size()+1];//少不了标记int layer = 1;//注意返回的是层数+1.所以这里直接放1了while(!queue.isEmpty()) {//固定的层数记录形式layer++;int size = queue.size();while (size-->0) {String cur = queue.poll();for (int i = 0; i < wordList.size(); i++) {if(marked[i])continue;String dic = wordList.get(i);if(canChange(dic, cur)) {if(dic.equals(endWord))return layer;queue.add(dic);marked[i] = true;}}}}return 0;}//是否可以转换的辅助函数public boolean canChange(String s,String t) {int len = s.length();int diff = 0;for (int i = 0; i < s.length(); i++) {if(s.charAt(i) != t.charAt(i))diff++;}return diff==1;}
}

http://www.ppmy.cn/news/1103787.html

相关文章

MySQL性能调优关注点和思路

一、MySQL基础知识 1.1 表结构(create table) 字段名&#xff1a;名称如果是关键字&#xff0c;需要用单引号(如name varchar(32) ) 字段类型 非空&#xff1a;not null 自增长&#xff1a;auto increment 默认值&#xff1a;name varchar(32) defaul zhangsan 主键&#xff1a…

【力扣每日一题】2023.9.10 课程表Ⅱ

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 今天的题目和昨天类似&#xff0c;不过今天要我们求出学习所有课程的先后顺序。 昨天只需要我们求出能否学习完所有课程&#xff0c;因此…

动态封装对象,属性来自json

需求&#xff1a; 如何动态的获取一个对象的字段&#xff0c;假如一个对象里面有name,age&#xff0c;sex三个字段&#xff0c;我想取name的值&#xff0c;这个name是存在一个json中&#xff0c;json的格式如下[{"key":"name"},{"key":"age…

基于AHP模型指标权重分析python整理

一 背景介绍 日常会有很多定量分析的场景&#xff0c;然而也会有一些定性分析的场景针对定性分析的场景&#xff0c;预测者只能通过主观判断分析能力来推断事物的性质和发展趋势然而针对个人的直觉和虽然能够有一定的协助判断效果&#xff0c;但是很难量化到指标做后期的复用 …

关于el-form中的el-input回车自动刷新页面

<el-form><el-form-item><el-inputv-model.trim"tablePage.keyWords"size"small"placeholder"请输入"keyup.enter.native"handleSearch()"clearable><el-buttonclick"handleSearch()"slot"prepen…

vue 预览视频

1.预览本地文件 1.1 直接给video或者embed的src赋值本地路径 <video :src"videoUrl"></video> // 或者 使用embed标签<embed :src"videoUrl" /> 1.2 读取文件流形式 <input type"file" ref"file" /> <vi…

领域驱动设计:DDD 关键概念

文章目录 领域和子域核心域、通用域和支撑域通用语言限界上下文实体值对象聚合聚合根设计聚合 DDD 的知识体系提出了很多的名词&#xff0c;像&#xff1a;领域、子域、核心域、通用域、支撑域、限界上下文、聚合、聚合根、实体、值对象等等&#xff0c;非常多。 领域和子域 …

机器学习 实战系列 总目录

1、机器学习实战-系列教程1&#xff1a;线性回归入门教程&#xff08;项目实战、原理解读、源码解读&#xff09; 机器学习实战-系列教程1&#xff1a;线性回归入门教程&#xff08;项目实战、原理解读、源码解读&#xff09; 2、机器学习实战-系列教程2&#xff1a;手撕线性回…