为有牺牲多壮志,敢教日月换新天。

[Swift]LeetCode243.最短单词距离 $ Shortest Word Distance

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/10213804.html 
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

热烈欢迎,请直接点击!!!

进入博主App Store主页,下载使用各个作品!!!

注:博主将坚持每月上线一个新app!!!

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 }

 

posted @ 2019-01-03 14:03  为敢技术  阅读(280)  评论(0编辑  收藏  举报