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

leetCode127. 单词接龙

leetCode127. 单词接龙

// bfs + 剪枝
class Solution {
public:int ladderLength(string beginWord, string endWord, vector<string>& wordList) {// 1.将所有的单词放在set字段中unordered_set<string> s;for (auto & ele : wordList) s.insert(ele);// 单词 + 步数queue<pair<string,int> > que;que.push({beginWord,1});s.erase(biginWord);// 避免再次找到次字符串,避免找回来int step = 0;string temp = "";while (!que.empty()) {if (que.front().first == endWord) {return que.front().second;}temp = que.front().first;step = que.front().second;que.pop();// bfs下一个结点,就是将beginWord挨个替换char ch;for (int i = 0; i < temp.size(); ++ i) {ch = temp[i];for (char j = 'a'; j <= 'z'; ++ j ) {if (j == ch) continue; // 已存在的不进行寻找temp[i] = j;// 如果在字典中if (s.find(temp) != s.end()) {que.push({temp,step + 1});// 同时让其字典伤处这个元素,避免查找回来s.erase(temp);}}// 复原 = 回溯temp[i] = ch;}}return 0;}
};
http://www.lryc.cn/news/369124.html

相关文章:

  • 进程概念(二)
  • java程序100道01—20
  • 让GNSSRTK不再难【第二天-第7部分2】
  • 计算引擎:Flink核心概念
  • 技术前沿 |【大模型InstructBLIP进行指令微调】
  • CSS-布局-flex
  • 「C系列」C 数组
  • Python框架scrapy有什么天赋异禀
  • 【ROS2大白话】四、ROS2非常简单的传参方式
  • 浅谈mysql 的批量delete 和 使用in条件批量删除问题
  • 【Spring Boot】过滤敏感词的两种实现
  • 在 Zustand 中管理状态能使用类(Class)吗
  • MoreTable 方法selectWithFun,count 使用实例
  • 【SpringBoot】在Spring中使用自定义条件类在Java声明Bean时实现条件注入
  • 网卡聚合链路配置
  • PlantSimulation导入cad图作为背景
  • 【大模型】个人对大模型选择的见解
  • java的反射和python的鸭子类型
  • 爬虫工具yt-dlp
  • 【代码随想录训练营】【Day 50】【动态规划-9】| Leetcode 198, 213, 337
  • 源码讲解kafka 如何使用零拷贝技术(zero-copy)
  • Ubuntu20.04配置qwen0.5B记录
  • java自学阶段二:JavaWeb开发--day80(项目实战2之苍穹外卖)
  • HPUX系统Oracle RAC如何添加ASM磁盘
  • Jmeter 压力测测试的简单入门
  • N叉树的层序遍历-力扣
  • 解决阿里云的端口添加安全组仍然无法扫描到
  • 【因果推断python】26_双重稳健估计1
  • C语言 图形化界面方式连接MySQL【C/C++】【图形化界面组件分享】
  • Unity DOTS技术(十五) 物理系统