Skip to content

Instantly share code, notes, and snippets.

@okuyan
Last active August 29, 2015 14:06
Show Gist options
  • Save okuyan/d1fcef3baa3e29659d2c to your computer and use it in GitHub Desktop.
Save okuyan/d1fcef3baa3e29659d2c to your computer and use it in GitHub Desktop.
Coding Puzzles: Thinking in code - 2sum
var createMapping = function(numbers) {
var mapping = {},
size = numbers.length;
for (var i = 0; i < size; i++) {
mapping[numbers[i]] = i;
}
return mapping;
};
var getPairs = function(numbers, target, mapping){
var size = numbers.length,
result = [];
for (var i = 0; i < size; i++) {
var searched = target - numbers[i];
if (typeof mapping[searched] !== 'undefined') {
result.push(i+1);
result.push(mapping[searched]+1);
break;
}
}
return result;
};
var arr = [2, 7, 11, 15];
//target 9
var mapping = createMapping(arr);
console.log(mapping);
console.log(getPairs(arr, 9, mapping));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment