一个词可能存在很多次 所以不能只记录min max pos 要每次找到一个词就更新一下距离看是否最短 然后update min 因为每次pos都向后更新了 所以最短肯定是和当前的p 而不会和之前的p最短
public class Solution {
public int shortestDistance(String[] words, String word1, String word2) {
if ( words == null || words.length == 0 )
return 0;
int n = words.length;
int p1 = -1;
int p2 = -1;
int min = Integer.MAX_VALUE;
for ( int i = 0; i < n; i ++ ){
if ( words[ i ].equals ( word1 ))
p1 = i;
if ( words[ i ].equals ( word2 ))
p2 = i;
if ( p1 != -1 && p2 != -1 )
min = Math.min( min, Math.abs ( p2 - p1 ));
}
return min;
}
}