diff --git a/src/functions-and-arrays.js b/src/functions-and-arrays.js index 3a7dbec41..7d8416f1f 100644 --- a/src/functions-and-arrays.js +++ b/src/functions-and-arrays.js @@ -1,24 +1,99 @@ // Iteration #1: Find the maximum -function maxOfTwoNumbers() {} +function maxOfTwoNumbers(a, b) { + if (a > b) { + return a + } + else if (b > a) { + return b + } + else { + return a + } + } + + // Iteration #2: Find longest word -const words = ['mystery', 'brother', 'aviator', 'crocodile', 'pearl', 'orchard', 'crackpot']; +const words = ['mystery', 'brother', 'aviator', 'crocodile', 'pearl', 'orchard', 'crackpot']; + + +function findLongestWord(input) { + if (input.length === 0) { + return null + } + else { + let longestWord = "" + for (let i=0; i longestWord.length) { + longestWord = input[i] + } + } + return longestWord + } + +} + + -function findLongestWord() {} // Iteration #3: Calculate the sum const numbers = [6, 12, 1, 18, 13, 16, 2, 1, 8, 10]; -function sumNumbers() {} +function sumNumbers(arrayNums) { + if (arrayNums.length === 0) { + return 0 + } + else { + let sumN = 0 + for (let i=0; i maxNumHorizontal) { + maxNumHorizontal = multipliedValues + } + return maxNumHorizontal + } + let maxNumVertical = 0; + for (let k = 0; k < matrixInput.length; k++) { + let multipliedVert = (matrixInput[i][k]) * (matrixInput[i+1][k]) * (matrixInput[i+2][k]) * (matrixInput[i+3][k]) + if (multipliedVert > maxNumVertical) { + maxNumVertical = multipliedVert + } + return maxNumVertical + } + if (maxNumHorizontal > maxNumVertical) { + return maxNumHorizontal + } + else if(maxNumVertical > maxNumHorizontal) { + return maxNumVertical + } + else if (maxNumVertical === maxNumHorizontal) { + return maxNumVertical + } + } + } + + const matrix = [ [8, 2, 22, 97, 38, 15, 0, 40, 0, 75, 4, 5, 7, 78, 52, 12, 50, 77, 91, 8], [49, 49, 99, 40, 17, 81, 18, 57, 60, 87, 17, 40, 98, 43, 69, 48, 4, 56, 62, 0], @@ -106,7 +297,7 @@ const matrix = [ [1, 70, 54, 71, 83, 51, 54, 69, 16, 92, 33, 48, 61, 43, 52, 1, 89, 19, 67, 48] ]; -function greatestProduct() {} + @@ -128,3 +319,38 @@ if (typeof module !== 'undefined') { greatestProduct }; } + + +// Iteration #8.2 Bonus + +function greatestProductOfDiagonals(matrix) { + for (let i = 0; i < matrix.length; i++) { + matrix[i] + let maxNumDiag1 = 0; + for (let j = 0; j < matrix[i].length; j++) { + let multipliedDiag1 = (matrix[i][j]) * (matrix[i+1][j+1]) * (matrix[i+2][j+2]) * (matrix[i+3][j+3]) + if (multipliedDiag1 > maxNumDiag1) { + maxNumDiag1 = multipliedDiag1 + } + return maxNumDiag1 + } + let maxNumDiag2 = 0; + for (let k = 0; k < matrix.length; k++) { + let multipliedDiag2 = (matrix[i][k]) * (matrix[i-1][k-1]) * (matrix[i-2][k-2]) * (matrix[i-3][k-3]) + if (multipliedDiag2 > maxNumDiag2) { + maxNumDiag2 = multipliedDiag2 + } + return maxNumDiag2 + } + if (maxNumDiag1 > maxNumDiag2) { + return maxNumDiag1 + } + else if(maxNumDiag2 > maxNumDiag1) { + return maxNumDiag2 + } + else if (maxNumDiag2 === maxNumDiag1) { + return maxNumDiag2 + } + } +} +