Shortest Word Distance
给一个字符串数组, 并给出两个words, 求最短距离. 直接用map
public static int shortestDistance(String[] words, String word1, String word2) {
int min = Integer.MAX_VALUE;
int index = -1;// index标记找到word1或者word2的其中一个的index
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]))// 如果已经找到了另一个, 并且当前的不是上次找到的那个
{
min = Math.min(i - index, min);//取最小值
}
index = i;//更新当前的index, 这是一个贪婪算法, 所以每次都要更新.
}
}
return min;
}
}
Leave A Comment