給定兩個單詞(beginword 和 endword)和乙個字典,找到從 beginword 到 endword 的最短轉換序列的長度。轉換需遵循如下規則:
每次轉換只能改變乙個字母。
轉換過程中的中間單詞必須是字典中的單詞。
說明:
思路:建圖後跑最短路即可
var length int
var dif [
]int
var vis [
]bool
var result int
var d [
]int
const
( int_max =
1<<32-
1)func
getdif
(s1 string
, s2 string
)(ans int)}
}return
}func
ladderlength
(beginword string
, endword string
, wordlist [
]string
)int
dif[0]
[length+1]
=getdif
(beginword,endword)
dif[length+1]
[0]= dif[0]
[length+1]
can :=
false
for i :=
0;i!can
for i:=
0;i} d[0]
=0count :=
1for count <= length
}if ind ==-1
vis[ind]
=true
for i:=
0;i<=length+
1;i++
} count++
}if d[length+1]
== int_max
return d[length+1]
+1}
每日一題 1
題目詳情 peter喜歡玩數字遊戲,但數獨這樣的遊戲對他來說太簡單了,於是他準備玩乙個難的遊戲。遊戲規則是在乙個n n的 裡填數,規則 對於每個輸入的n,從左上角開始,總是以對角線為起點,先橫著填,再豎著填。這裡給了一些樣例,請在樣例中找到規律並把這個n n的 列印出來吧。輸入描述 多組測試資料 資...
每日一題2018 3 21
leetcode 2 模擬十進位制運算考察單鏈表基本操作。題無難點,個人基礎需要提高。definition for singly linked list.struct listnode class solution while p while q if shi val s next null ret...
每日一題2018 3 22
leetcode 03 最長不重複子串 第一反應就是動態規劃。看到了網上的方法一。直接把問題簡化為找兩個重複字元間的最長距離,太巧妙了!class solution if i idx max locs s i i return max ling老師的方法二 仍舊轉化為動態規劃,但是為節省空間不再開個...