From a925aaaafd54ccfc7ec8b0b6e3f32617a50223ee Mon Sep 17 00:00:00 2001 From: Dan Zygmund-Felt Date: Thu, 25 May 2017 09:50:45 -0400 Subject: [PATCH] Wrote zipperArray and largestConcatenatedNumber methods. --- index.html | 4 ++-- js/script.js | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 62 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index ef273b7..51075b8 100755 --- a/index.html +++ b/index.html @@ -20,8 +20,8 @@

Loops Exercises

diff --git a/js/script.js b/js/script.js index c36bf4a..3e75d47 100755 --- a/js/script.js +++ b/js/script.js @@ -10,4 +10,63 @@ function example(){ var v = 3 +4; display.innerHTML = v; -} \ No newline at end of file +} + +function zipperArray() { + var a = [], b = [], retArray = []; + var size = prompt("How long are your arrays?") + for(_i = 0; _i < size; _i++) { + a[_i] = prompt("entry element " + _i + " from array 1") + } + for(_j = 0; _j < size; _j++) { + b[_j] = prompt("enter element " + _j + " from array 2") + } + for(i = 0; i < size; i++) { + retArray[2*i] = a[i] + retArray[2*i + 1] = b[i] + } + display.innerHTML = retArray +} + +function largestConcatenatedNumber() { + var size = prompt("How long is your array?") + var arr = [] + for(_i = 0; _i < size; _i++) { + arr[_i] = prompt("enter element " + _i) + } + var permArray = recursivePermutator(arr) + var max = 0 + for(i = 0; i < permArray.length; i++) { + str = "" + for(j = 0; j < size; j++) { + str += permArray[i][j] + } + if(str > max) { + max = str + } + } + display.innerHTML = max +} + +//https://stackoverflow.com/questions/9960908/permutations-in-javascript +function recursivePermutator(arr) { + var permArr = [] + var usedNumbers = [] + + function permute(arr) { + var i, ch; + for (i = 0; i < arr.length; i++) { + ch = arr.splice(i, 1)[0]; + usedNumbers.push(ch); + if (arr.length == 0) { + permArr.push(usedNumbers.slice()); + } + permute(arr); + arr.splice(i, 0, ch); + usedNumbers.pop(); + } + return permArr + }; + + return permute(arr) +} \ No newline at end of file