Method 1 function adjacentElementsProduct(nums) { let product = 1; for(let i=0; i<nums.length; i=i+2){ if(nums[i+1]){ ...
Method 1
function adjacentElementsProduct(nums) {
let product = 1;
for(let i=0; i<nums.length; i=i+2){
if(nums[i+1]){
product = nums[i] * nums[i+1];
}
else{
nums[i+1] = 1;
product = nums[i] * nums[i+1];
}
}
return product;
}
/**
* Test Suite
*/
describe('adjacentElementsProduct()', () => {
it('returns largest product of adjacent values', () => {
// arrange
const nums = [3, 6, -2, -5, 7, 3];
// act
const result = adjacentElementsProduct(nums);
// log
console.log("result: ", result);
// assert
expect(result).toBe(21);
});
});
Method 2
function adjacentElementsProduct(nums) {
let largestProduct = nums[0] * nums[1];
for(let i = 1; i < nums.length - 1; i++) {
const adjacentProduct = nums[i] * nums[i + 1];
if(largestProduct < adjacentProduct) {
largestProduct = adjacentProduct;
}
}
return largestProduct;
}
/**
* Test Suite
*/
describe('adjacentElementsProduct()', () => {
it('returns largest product of adjacent values', () => {
// arrange
const nums = [3, 6, -2, -5, 7, 3];
// act
const result = adjacentElementsProduct(nums);
// log
console.log("result: ", result);
// assert
expect(result).toBe(21);
});
});
COMMENTS