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

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-kinbylzq-mb.html 
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html

This is a follow up of Shortest Word Distance. The only difference is now word1 could be the same as word2.git

Given a list of words and two words word1 and word2, return the shortest distance between these two words in the list.github

word1 and word2 may be the same and they represent two individual words in the list.微信

For example,
Assume that words = ["practice", "makes", "perfect", "coding", "makes"].spa

Given word1 = 「makes」, word2 = 「coding」, return 1.
Given word1 = "makes", word2 = "makes", return 3.code

Note:
You may assume word1 and word2 are both in the list.htm


這是最短單詞距離的後續行動。如今惟一的區別是word1能夠與word2相同。blog

給定單詞列表以及單詞1和單詞2,返回列表中這兩個單詞之間的最短距離。get

word1和word2可能相同,它們表明列表中的兩個單獨單詞。博客

例如,

假設words=[「practice」、「makes」、「perfect」、「coding」、「makes」]。

給定word1=「makes」,word2=「coding」,返回1。

給定word1=「makes」,word2=「makes」,返回3。

注:

您能夠假定word1和word2都在列表中。


 1 class Solution {
 2     func shortestWordDistance(_ 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 && (word1 == word2 || words[i] != words[idx])
10                 {
11                     res = min(res, i - idx)
12                 }
13                 idx = i
14             }
15         }
16         return res
17     }
18 }
相關文章
相關標籤/搜索