1. 程式人生 > >[Swift]LeetCode243.最短單詞距離 $ Shortest Word Distance

[Swift]LeetCode243.最短單詞距離 $ Shortest Word Distance

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.count
6 { 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 }