127. Word Ladder Leetcode Python
来源:互联网 发布:淘宝直通车有必要开吗 编辑:程序博客网 时间:2024/05/16 13:59
Given two words (start and end), and a dictionary, find the length of shortest transformation sequence from start to end, such that:
Only one letter can be changed at a time
Each intermediate word must exist in the dictionary
For example,
Given:
start = "hit"
end = "cog"
dict = ["hot","dot","dog","lot","log"]
As one shortest transformation is "hit" -> "hot" -> "dot" -> "dog" -> "cog",
return its length 5.
Note:
Return 0 if there is no such transformation sequence.
All words have the same length.
Only one letter can be changed at a time
Each intermediate word must exist in the dictionary
For example,
Given:
start = "hit"
end = "cog"
dict = ["hot","dot","dog","lot","log"]
As one shortest transformation is "hit" -> "hot" -> "dot" -> "dog" -> "cog",
return its length 5.
Note:
Return 0 if there is no such transformation sequence.
All words have the same length.
All words contain only lowercase alphabetic characters.
这题是用的breadth first search 把每个字母当成一个edge 用一个que 把每次得到的新的edge加进来 在dict里面把已经遍历过的节点删除了。
每过一个新的单词的复杂度为L×26 L 是单词的长度
代码如下:
class Solution: # @param start, a string # @param end, a string # @param dict, a set of string # @return an integer def ladderLength(self, start, end, dict): dict.add(end) q=[] q.append((start,1)) while q: curr=q.pop(0) curword=curr[0] curlen=curr[1] if curword==end: return curlen for i in range(len(curword)): part1=curword[:i] part2=curword[i+1:] for j in 'qwertyuiopasdfghjklzxcvbnm': if curword[i]!=j: nextword=part1+j+part2 if nextword in dict: q.append((nextword,curlen+1)) dict.remove(nextword) return 0
0 0
- 127. Word Ladder Leetcode Python
- [Leetcode]127. Word Ladder@python
- [Leetcode][python]Word Ladder/Word Ladder II
- [LeetCode]127.Word Ladder
- [Leetcode] 127. Word Ladder
- [leetcode] 127.Word Ladder
- Leetcode-127.Word Ladder
- 127. Word Ladder LeetCode
- Leetcode 127. Word Ladder
- LeetCode 127. Word Ladder
- leetcode 127. Word Ladder
- LeetCode 127. Word Ladder
- LeetCode-127.Word Ladder
- Leetcode 127. Word Ladder
- [leetcode] 127. Word Ladder
- [LeetCode] 127. Word Ladder
- 【LeetCode】127. Word Ladder
- LeetCode 127. Word Ladder
- PHP网站使用JavaScript和Iframe简单实现部分刷新效果
- Oracle安装介质及补丁集下载地址
- cocos2d-x 文本框
- HashMap vs. TreeMap vs. Hashtable vs. LinkedHashMap
- 海量数据挖掘——第1讲.MapReduce and PageRank
- 127. Word Ladder Leetcode Python
- 机器学习基石——第11-12讲.Linear Models for Classification
- 机器学习基石——第13-14讲.Hazard of Overfitting
- 图片转成base64串
- macos 隐藏显示文件
- Java学习路线图
- Introduction to dependency injection with unityContainer
- Sass map详解
- 在网页中使用Applet的标签详解