243. 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.

 

// Integer.MAX_VALUE
//字符串要用.equals
//words[i].equals(word2) equals有s的
//用index和i来标记2个找到的word,不断比较最短距离更新

public class Solution {
    public int shortestDistance(String[] words, String word1, String word2) {
        int index = -1;
        int minDistance = Integer.MAX_VALUE;
        for(int i =0; i< words.length; i++){
            if(words[i].equals(word1) || words[i].equals(word2)){
                if(index != -1 && !words[index].equals(words[i])){
                    minDistance = Math.min(i - index, minDistance);
                    
                    
                }
                index = i;
            }
        }
        return minDistance;
    }
}