Created
August 4, 2016 14:54
-
-
Save holsted/e9d96a608e6539f4e38a28f2c92f883e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ## 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