Skip to content

done #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 3 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
164 changes: 143 additions & 21 deletions starter-code/functions-and-arrays.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,28 @@
// Find the maximum
function maxOfTwoNumbers (first, second) {

if (first > second){
return first;
} else if (first < second) {
return second;
} else {
return "Numbers are equal";
}
}

var largest = maxOfTwoNumbers(2, 6);
console.log(largest);

// Finding Longest Word
function findLongestWord (words) {
var maxLength = 0;

for (var i = 0; i < words.length; i++) {
if (words[i].length > maxLength) {
maxLength = words[i].length;
}
}

return maxLength;
}

var words = [
Expand All @@ -25,7 +39,7 @@ console.log(longest);

// Calculating a Sum
function sumArray (array) {

return array.reduce((a, b) => a + b);
}

var numbers = [6, 12, 1, 18, 13, 16, 2, 1, 8, 10];
Expand All @@ -34,18 +48,22 @@ console.log(total);

// Calculate the Average
function averageNumbers (array) {

return array.reduce((a, b) >= a + b)/array.length;
}

var numbers = [2, 6, 9, 10, 7, 4, 1, 9];
var average = averageNumbers(numbers);
console.log(average);

// Array of Strings
function averageWordLength (array) {
var longest = [];

function averageWordLength (words) {
for (i = 0; i <= words.length -1; i++) {
longest.push(words[i].length);
}
return longest;
}

var words = [
"seat",
"correspond",
Expand All @@ -58,14 +76,18 @@ var words = [
"fuel",
"palace"
];

var averageLength = averageWordLength(words);
console.log(averageLength);

// Unique Arrays
function uniquifyArray (array) {
function sumArray2 (averageLength) {

return averageLength.reduce((a, b) => a + b)/averageLength.length;
}
var averageLength = sumArray2 (averageLength);

console.log(averageLength);

// Unique Arrays
var words = [
"crab",
"poison",
Expand All @@ -79,13 +101,22 @@ var words = [
"simple",
"bring"
];
var uniqued = uniquifyArray(words);

var uniqued = words.reduce(function(a,b){
if (a.indexOf(b) < 0 ) a.push(b);
return a;
},[]);

console.log(uniqued);

// Finding Elements
function doesWordExist (wordsArray, word) {

}
for (var i = 0 ; i < wordsArray.length; i++) {
if (word === wordsArray[i]) {
return true;}
}
return false;
}

var words = [
"machine",
Expand All @@ -98,15 +129,20 @@ var words = [
"disobedience"
];

var hasMatter = doesWordExist(words, "matter");
var hasMatter = doesWordExist(words, "machine");
console.log(hasMatter);

var hasDog = doesWordExist(words, "dog");
console.log(hasDog);

// Counting Repetion
function howManyTimes (words, word) {

var count = 0;
for (var i = 0 ; i < words.length; i++) {
if (words[i] === word) {
count++;}
}
return count;
}

var words = [
Expand All @@ -126,28 +162,39 @@ var words = [
var howManyMatter = howManyTimes(words, "matter");
console.log(howManyMatter);

var howManyDog = howManyTimes(words, "dog");
console.log(howManyDog);

// Bonus Quest
var product = 0;
var largest = 0;

function greatestProduct (matrix) {
for(var i = 1; i < 19; i++) {
for(var j = 0; j < 17; j++) {
product = matrix[i][j] * matrix[i - 1 ][j + 1] * matrix[i + 1][j + 1] * matrix[i][j + 2];
if(product > largest) {
largest = product;
}
}

}

return largest;

}

var matrix = [
[08,02,22,97,38,15,0,40,0,75,04,05,07,78,52,12,50,77,91,08],
[49,49,99,40,17,81,18,57,60,87,17,40,98,43,69,48,04,56,62,0],
[08,02,22,97,38,15,00,40,00,75,04,05,07,78,52,12,50,77,91,08],
[49,49,99,40,17,81,18,57,60,87,17,40,98,43,69,48,04,56,62,00],
[81,49,31,73,55,79,14,29,93,71,40,67,53,88,30,03,49,13,36,65],
[52,70,95,23,04,60,11,42,69,24,68,56,01,32,56,71,37,02,36,91],
[22,31,16,71,51,67,63,89,41,92,36,54,22,40,40,28,66,33,13,80],
[24,47,32,60,99,03,45,02,44,75,33,53,78,36,84,20,35,17,12,50],
[32,98,81,28,64,23,67,10,26,38,40,67,59,54,70,66,18,38,64,70],
[67,26,20,68,02,62,12,20,95,63,94,39,63,08,40,91,66,49,94,21],
[24,55,58,05,66,73,99,26,97,17,78,78,96,83,14,88,34,89,63,72],
[21,36,23,09,75,0,76,44,20,45,35,14,0,61,33,97,34,31,33,95],
[21,36,23,09,75,00,76,44,20,45,35,14,00,61,33,97,34,31,33,95],
[78,17,53,28,22,75,31,67,15,94,03,80,04,62,16,14,09,53,56,92],
[16,39,05,42,96,35,31,47,55,58,88,24,0,17,54,24,36,29,85,57],
[86,56,0,48,35,71,89,07,05,44,44,37,44,60,21,58,51,54,17,58],
[16,39,05,42,96,35,31,47,55,58,88,24,00,17,54,24,36,29,85,57],
[86,56,00,48,35,71,89,07,05,44,44,37,44,60,21,58,51,54,17,58],
[19,80,81,68,05,94,47,69,28,73,92,13,86,52,17,77,04,89,55,40],
[04,52,08,83,97,35,99,16,07,97,57,32,16,26,26,79,33,27,98,66],
[88,36,68,87,57,62,20,72,03,46,33,67,46,55,12,32,63,93,53,69],
Expand All @@ -159,3 +206,78 @@ var matrix = [

var maxProduct = greatestProduct(matrix);
console.log(maxProduct);
// => 57,148,146


// greatest product of four adjacent numbers horizontal/vertical/diagonal
var product = 0;
var largest = 0;

function greatestProduct2 (matrix) {
for(var i = 0; i < 20; i++) {
for(var j = 0; j < 17; j++) {
product = matrix[i][j] * matrix[i][j + 1] * matrix[i][j + 2] * matrix[i][j + 3];
if(product > largest) {
largest = product;
}
}

}

for (var i = 0; i < 17; i++) {
for (var j = 0; j < 20; j++) {
product = matrix[i][j] * matrix[i + 1][j] * matrix[i + 2][j] * matrix[i + 3][j];
if(product > largest) {
largest = product;
}
}
}

for(var i = 0; i < 17; i++){
for(var j = 0; j < 17; j++){
product = matrix[i][j] * matrix[i + 1][j + 1] * matrix[i + 2][j + 2] * matrix[i + 3][i + 3];
if(product > largest) {
largest = product;
}
}
}

for(var i = 0; i < 17; i ++){
for(var j = 3; j < 20; j ++){
product = matrix[i][j] * matrix[i + 1][j - 1] * matrix[i + 2][j - 2] * matrix[i + 3][j - 3];
if(product > largest) {
largest = product;
}
}
}

return largest;

}

var matrix = [
[08,02,22,97,38,15,00,40,00,75,04,05,07,78,52,12,50,77,91,08],
[49,49,99,40,17,81,18,57,60,87,17,40,98,43,69,48,04,56,62,00],
[81,49,31,73,55,79,14,29,93,71,40,67,53,88,30,03,49,13,36,65],
[52,70,95,23,04,60,11,42,69,24,68,56,01,32,56,71,37,02,36,91],
[22,31,16,71,51,67,63,89,41,92,36,54,22,40,40,28,66,33,13,80],
[24,47,32,60,99,03,45,02,44,75,33,53,78,36,84,20,35,17,12,50],
[32,98,81,28,64,23,67,10,26,38,40,67,59,54,70,66,18,38,64,70],
[67,26,20,68,02,62,12,20,95,63,94,39,63,08,40,91,66,49,94,21],
[24,55,58,05,66,73,99,26,97,17,78,78,96,83,14,88,34,89,63,72],
[21,36,23,09,75,00,76,44,20,45,35,14,00,61,33,97,34,31,33,95],
[78,17,53,28,22,75,31,67,15,94,03,80,04,62,16,14,09,53,56,92],
[16,39,05,42,96,35,31,47,55,58,88,24,00,17,54,24,36,29,85,57],
[86,56,00,48,35,71,89,07,05,44,44,37,44,60,21,58,51,54,17,58],
[19,80,81,68,05,94,47,69,28,73,92,13,86,52,17,77,04,89,55,40],
[04,52,08,83,97,35,99,16,07,97,57,32,16,26,26,79,33,27,98,66],
[88,36,68,87,57,62,20,72,03,46,33,67,46,55,12,32,63,93,53,69],
[04,42,16,73,38,25,39,11,24,94,72,18,08,46,29,32,40,62,76,36],
[20,69,36,41,72,30,23,88,34,62,99,69,82,67,59,85,74,04,36,16],
[20,73,35,29,78,31,90,01,74,31,49,71,48,86,81,16,23,57,05,54],
[01,70,54,71,83,51,54,69,16,92,33,48,61,43,52,01,89,19,67,48],
];

var maxProduct2 = greatestProduct2(matrix);
console.log(maxProduct2);
// => 70,600,674