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.

一刷
题解:
注意,一个单词可能在array中出现多次,取distance最小的那一组

public class Solution {
    public int shortestDistance(String[] words, String word1, String word2) {
        int p1=-1, p2=-1;
        int min = Integer.MAX_VALUE;
        for(int i=0; i<words.length; i++){
            if(words[i].equals(word1)) {
                p1 = i;
                if(p2!=-1){
                    min = Math.min(min, Math.abs(p1-p2));
                }
            }
            if(words[i].equals(word2)){
                p2 = i;
                 if(p1!=-1){
                    min = Math.min(min, Math.abs(p1-p2));
                }
            }
        }
        return min;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容