-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Description
var shortestWordDistance = function(words, word1, word2) {
var w1 = -1,
w2 = -1,
index = -1,
min = Infinity;
for(var i = 0; i < words.length; i++){
if(word1 === word2){
if(words[i] === word1){
if(index === -1){index = i}
else{
min = Math.min(min, Math.abs(i - index))
index = i;
}
}
}
else{
if(words[i] === word1) w1 = i;
if(words[i] === word2) w2 = i;
if (w1 !== -1 && w2 !== -1)min = Math.min(min, Math.abs(w1 - w2))
}
}
return min
};
! no nested condition checks
function shortestWordDistance(words, word1, word2) {
var min = words.length, p1 = -words.length, p2 = words.length;
words.forEach((v, i) => {
if (v === word1 && v === word2) [p1, p2] = [i, p1];
else if (v === word1) p1 = i;
else if (v === word2) p2 = i;
min = Math.min(min, Math.abs(p1 - p2));
});
return min;
}
Metadata
Metadata
Assignees
Labels
No labels