★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-bnqhndbv-mc.html
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html
Given a list of words and two words word1 and word2, return the shortest distance between these two words in the list.git
For example,
Assume that words = ["practice", "makes", "perfect", "coding", "makes"]
.github
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.spa
給定單詞列表以及單詞1和單詞2,返回列表中這兩個單詞之間的最短距離。code
例如,htm
假設words=[「practice」、「makes」、「perfect」、「coding」、「makes」]。blog
給定word1=「coding」,word2=「practice」,返回3。get
給定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 }