replaced http://codereview.stackexchange.com/ with https://codereview.stackexchange.com/
- Flambino's answer Flambino's answer shows there's no need to continue enumeration if current index is bigger than the matching values' max index found already.
- Jodrell's answer Jodrell's answer shows it's possible to do everything in just one loop, pointed out by Jonah.
- Flambino's answer shows there's no need to continue enumeration if current index is bigger than the matching values' max index found already.
- Jodrell's answer shows it's possible to do everything in just one loop, pointed out by Jonah.
- Flambino's answer shows there's no need to continue enumeration if current index is bigger than the matching values' max index found already.
- Jodrell's answer shows it's possible to do everything in just one loop, pointed out by Jonah.
var sum_pairs = function(ints, s) {
var last = ints.length - 1,
map = {},
pair, pairMaxIndex = last;ints.length - 1;
for (var i = 0; i <= pairMaxIndex; i++) {
var a = ints[i];
var b = s - a;
var j = map[b];
if (j !== undefined && i <= pairMaxIndex && j <= pairMaxIndex) {
pairMaxIndex = i > j ? i : j;
pair = i < j ? [a, b] : [b, a];
}
var tmp = map[a];
if (tmp === undefined || i < tmp) {
map[a] = i;
}
}
return pair;
};
var sum_pairs = function(ints, s) {
var last = ints.length - 1,
map = {},
pair, pairMaxIndex = last;
for (var i = 0; i <= pairMaxIndex; i++) {
var a = ints[i];
var b = s - a;
var j = map[b];
if (j !== undefined && i <= pairMaxIndex && j <= pairMaxIndex) {
pairMaxIndex = i > j ? i : j;
pair = i < j ? [a, b] : [b, a];
}
var tmp = map[a];
if (tmp === undefined || i < tmp) {
map[a] = i;
}
}
return pair;
};
var sum_pairs = function(ints, s) {
var map = {},
pair, pairMaxIndex = ints.length - 1;
for (var i = 0; i <= pairMaxIndex; i++) {
var a = ints[i];
var b = s - a;
var j = map[b];
if (j !== undefined && i <= pairMaxIndex && j <= pairMaxIndex) {
pairMaxIndex = i > j ? i : j;
pair = i < j ? [a, b] : [b, a];
}
var tmp = map[a];
if (tmp === undefined || i < tmp) {
map[a] = i;
}
}
return pair;
};
var sum_pairs = function(ints, s) {
var last = ints.length - 1,
map = {},
pair, pairMaxIndex = last + last;
for (var i = 0; i <= last && i < pairMaxIndex; i++) {
var a = ints[i];
var b = s - a;
var j = map[b];
if (j !== undefined && i <<= pairMaxIndex && j <<= pairMaxIndex) {
pairMaxIndex = i > j ? i : j;
pair = i < j ? [a, b, i, j]b] : [b, a, j, i];a];
}
var tmp = map[a];
if (tmp === undefined || i < tmp) {
map[a] = i;
}
}
return pair;
};
var sum_pairs = function(ints, s) {
var last = ints.length - 1,
map = {},
pair, pairMaxIndex = last + last;
for (var i = 0; i <= last && i < pairMaxIndex; i++) {
var a = ints[i];
var b = s - a;
var j = map[b];
if (j !== undefined && i < pairMaxIndex && j < pairMaxIndex) {
pairMaxIndex = i > j ? i : j;
pair = i < j ? [a, b, i, j] : [b, a, j, i];
}
var tmp = map[a];
if (tmp === undefined || i < tmp) {
map[a] = i;
}
}
return pair;
};
var sum_pairs = function(ints, s) {
var last = ints.length - 1,
map = {},
pair, pairMaxIndex = last;
for (var i = 0; i <= pairMaxIndex; i++) {
var a = ints[i];
var b = s - a;
var j = map[b];
if (j !== undefined && i <= pairMaxIndex && j <= pairMaxIndex) {
pairMaxIndex = i > j ? i : j;
pair = i < j ? [a, b] : [b, a];
}
var tmp = map[a];
if (tmp === undefined || i < tmp) {
map[a] = i;
}
}
return pair;
};
default