[Swift]LeetCode243.最短單詞距離 $ Shortest Word Distance
阿新 • • 發佈:2019-01-03
Given a list of words and two words word1 and word2, return the shortest distance between these two words in the list.
For example,
Assume that words = ["practice", "makes", "perfect", "coding", "makes"]
.
Given word1 = “coding”
, word2 = “practice”
, return 3.
Given word1
"makes"
, word2 = "coding"
, return 1.
Note:
You may assume that word1 does not equal to word2, and word1 and word2 are both in the list.
給定單詞列表以及單詞1和單詞2,返回列表中這兩個單詞之間的最短距離。
例如,
假設words=[“practice”、“makes”、“perfect”、“coding”、“makes”]。
給定word1=“coding”,word2=“practice”,返回3。
給定word1=“makes”,word2=“coding”,返回1。
注:
您可以假定word1不等於word2,word1和word2都在列表中。
1 class Solution { 2 func shortestDistance(_ words: [String],_ word1:String,_ word2:String) -> Int { 3 var idx:Int = -1 4 var res:Int = Int.max 5 for i in 0..<words.count6 { 7 if words[i] == word1 || words[i] == word2 8 { 9 if idx != -1 && words[idx] != words[i] 10 { 11 res = min(res, i - idx) 12 } 13 idx = i 14 } 15 } 16 return res 17 } 18 }