当前位置:网站首页>2022.5.27-----leetcode. Interview 17.11

2022.5.27-----leetcode. Interview 17.11

2022-06-10 04:34:00 Lu 727

 public int findClosest(String[] words, String word1, String word2) {
         List<Integer>[] l=new ArrayList[2];// Store target word location 
         l[0]=new ArrayList<>();
         l[1]=new ArrayList<>();
        for(int i=0;i<words.length;i++){
            if(words[i].equals(word1))
                l[0].add(i);
            if(words[i].equals(word2))
                l[1].add(i);
        }
        int min=100000;
        int a=0,b=0;
        // Double pointer traversal , Move the left pointer to the right each time , Reduce distance 
        while(a<l[0].size()&&b<l[1].size()){
            if(l[0].get(a)>l[1].get(b)){
                min=Math.min(min,l[0].get(a)-l[1].get(b));
                b++;
            }else if(l[0].get(a)<l[1].get(b)){
                 min=Math.min(min,l[1].get(b)-l[0].get(a));
                a++;
            }else return 0;
        }
        return min;
    }

原网站

版权声明
本文为[Lu 727]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/160/202206091228491933.html