取名字网站如何做德州seo整站优化
取名字网站如何做,德州seo整站优化,怎么自己制作一首歌曲,自媒体平台哪个好1. 题目
给定字典中的两个词#xff0c;长度相等。 写一个方法#xff0c;把一个词转换成另一个词#xff0c; 但是一次只能改变一个字符。 每一步得到的新词都必须能在字典中找到。
编写一个程序#xff0c;返回一个可能的转换序列。如有多个可能的转换序列#xff0c;…1. 题目
给定字典中的两个词长度相等。 写一个方法把一个词转换成另一个词 但是一次只能改变一个字符。 每一步得到的新词都必须能在字典中找到。
编写一个程序返回一个可能的转换序列。如有多个可能的转换序列你可以返回任何一个。
示例 1:
输入:
beginWord hit,
endWord cog,
wordList [hot,dot,dog,lot,log,cog]
输出:
[hit,hot,dot,lot,log,cog]示例 2:
输入:
beginWord hit
endWord cog
wordList [hot,dot,dog,lot,log]
输出: []
解释: endWord cog 不在字典中所以不存在符合要求的转换序列。来源力扣LeetCode 链接https://leetcode-cn.com/problems/word-transformer-lcci 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。
2. 解题
类似题目 LeetCode 126. 单词接龙 II图的BFS LeetCode 127. 单词接龙图的BFS/双向BFS
广度优先搜索
class Solution {
public:vectorstring findLadders(string beginWord, string endWord, vectorstring wordList) {vectorstring ans, frontPath, newpath;int len wordList.size(), i, k, n, lv 0;unordered_mapstring,int m;vectorbool visited(len,false);for(i 0; i len; i){m[wordList[i]] i;if(wordList[i] beginWord)visited[i] true;}if(m.find(endWord) m.end())return {};queuevectorstring q;frontPath.push_back(beginWord);q.push(frontPath);string str;while(!q.empty()){lv;n q.size();while(n--){frontPath q.front();q.pop();for(i 0; i beginWord.size(); i){//对每个单词的每个字符进行改变str frontPath.back();for(k 1; k 25; k){str[i] 1;if(str[i] z)str[i] a;if(m.find(str) ! m.end() !visited[m[str]]){ //在集合中且没有访问的newpath frontPath;newpath.push_back(str);q.push(newpath);visited[m[str]] true;if(str endWord)return newpath;}}}}}return {};}
};308 ms 19.4 MB
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88739.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!