# 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;
        }
    }
    

results matching ""

    No results matching ""