Skip to content

Commit 132799b

Browse files
aQuaaQua
authored andcommitted
127 越改越慢,299ms
1 parent 1a8de24 commit 132799b

File tree

1 file changed

+3
-24
lines changed

1 file changed

+3
-24
lines changed

Algorithms/0127.word-ladder/word-ladder.go

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
11
package Problem0127
22

33
func ladderLength(beginWord string, endWord string, words []string) int {
4-
// 因为 beginWord 不能做 transformed word
5-
// 先删掉 words 中的 beginWord,
6-
// 可以让后面的 trans 少很多的断头 path,会加快程序。
7-
// 也更符合题意
8-
// 删除下面这句,程序也能 accepted,但是会从 269ms 减慢到 319ms
9-
words = deleteBeginWord(words, beginWord)
104

115
// isTransedEndWord 用于在生成 trans 的过程中标记,存在 ->endWord 的转换关系
126
// 用于提前结束
@@ -65,25 +59,10 @@ func ladderLength(beginWord string, endWord string, words []string) int {
6559
return res
6660
}
6761

68-
// 题目中说了,words 中没有重复的单词,
69-
// 所以,beginWord 最多出现一次
70-
func deleteBeginWord(words []string, beginWord string) []string {
71-
i, size := 0, len(words)
72-
for ; i < size; i++ {
73-
if words[i] == beginWord {
74-
break
75-
}
76-
}
77-
78-
if i == size {
79-
return words
80-
}
81-
82-
words[i] = words[size-1]
83-
return words[:size-1]
84-
}
85-
8662
func isTransable(a, b string) bool {
63+
if a == b {
64+
return false
65+
}
8766
// onceAgain == true 说明已经出现过不同的字符了
8867
onceAgain := false
8968
for i := range a {

0 commit comments

Comments
 (0)