# 243 Shortest Word Distance
找出String陣列words裡word1和word2的最近距離。
word1和word2可能重複出現在words中,所以有多種不同距離,回傳最小的距離。
- idea 用變數idx1, idx2儲存word1, word2的index,變數min來存最小距離。 將idx1, idx2初始設為-1,當兩者皆不等於-1時,就計算idx1, idx2的差,並更新min。
Code
public class Solution { public int shortestDistance(String[] words, String word1, String word2) { int idx1 = -1, idx2 = -1, min = Integer.MAX_VALUE; for(int i=0; i<words.length; i++){ String w = words[i]; if(w.equals(word1)){ idx1 = i; } if(w.equals(word2)){ idx2 = i; } if(idx1!=-1 && idx2!=-1){ int dif = Math.abs(idx1-idx2); min = dif < min ? dif : min; } } return min; } }