Skip to content

Instantly share code, notes, and snippets.

@holsted
Created August 4, 2016 14:54
Show Gist options
  • Save holsted/e9d96a608e6539f4e38a28f2c92f883e to your computer and use it in GitHub Desktop.
Save holsted/e9d96a608e6539f4e38a28f2c92f883e to your computer and use it in GitHub Desktop.
// ## Coding
// Given an array of positive integers, write a function which returns all the unique pairs which add (equal) up to 100.
// Example data:
var sample_input = [0, 1, 100, 99, 0, 10, 90, 30, 55, 33, 55, 75, 50, 51, 49, 50, 51, 49, 51];
// sample_output = [[1,99], [0,100], [10,90], [51,49], [50,50]]
function findUniquePairs(array){
var pairs = [];
for(var i = 0; i < array.length; i++){
var num1 = array[i];
for(var j=0; j < array.length; j++){
var num2 = array[j];
if(num1 + num2 === 100 && !exists(num1, num2, pairs)){
pairs.push([num1, num2]);
}
}
}
return pairs;
}
function exists(num1, num2, array){
var exists = false;
for(var i = 0; i < array.length; i++){
var pair = array[i];
if(pair.indexOf(num1) > -1 && pair.indexOf(num2) > -1){
return true;
}
}
}
console.log(findUniquePairs(sample_input))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment