Wednesday, February 21, 2024
HomeSoftware EngineeringMost Product from Record of Integers in Python

Most Product from Record of Integers in Python


The problem

Given an array of integers, Discover the utmost product obtained from multiplying 2 adjoining numbers within the array.

Notes

  • Array/checklist dimension is at the very least 2.
  • Array/checklist numbers may very well be a combination of positives, negatives additionally zeroes .

Enter >Output Examples

adjacentElementsProduct([1, 2, 3]); ==> return 6

Clarification:

The utmost product is obtained from multiplying 2 * 3 = 6, and they’re adjoining numbers within the array.

adjacentElementsProduct([9, 5, 10, 2, 24, -1, -48]); ==> return 50

Clarification:

Max product obtained from multiplying 5 * 10 = 50 .

adjacentElementsProduct([-23, 4, -5, 99, -27, 329, -2, 7, -921])  ==>  return -14

Clarification:

The utmost product obtained from multiplying -2 * 7 = -14, and they’re adjoining numbers within the array.

The answer in Python code

Choice 1:

def adjacent_element_product(array):
    return max( a*b for a, b in zip(array, array[1:]) )

Choice 2:

def adjacent_element_product(arr):
    product = [arr[i]*arr[i+1] for i in vary(len(arr)-1)]
    return max(product)

Choice 3:

def adjacent_element_product(array):
    max = array[0]*array[1];
    for i in vary(1,len(array)-1):
        temp = array[i]*array[i+1]
        if max < temp:
            max = temp 
    return max

Take a look at circumstances to validate our answer

import take a look at
from answer import adjacent_element_product

@take a look at.describe("Mounted Exams")
def fixed_tests():
    @take a look at.it("Constructive numbers")
    def _():
        take a look at.assert_equals(adjacent_element_product([5, 8]), 40)
        take a look at.assert_equals(adjacent_element_product([1, 2, 3]), 6)
        take a look at.assert_equals(adjacent_element_product([1, 5, 10, 9]), 90)
        take a look at.assert_equals(adjacent_element_product([4, 12, 3, 1, 5]), 48)
        take a look at.assert_equals(adjacent_element_product([5, 1, 2, 3, 1, 4]), 6)

    @take a look at.it("Each optimistic and unfavourable values")
    def _():
        take a look at.assert_equals(adjacent_element_product([3, 6, -2, -5, 7, 3]), 21)
        take a look at.assert_equals(adjacent_element_product([9, 5, 10, 2, 24, -1, -48]), 50)
        take a look at.assert_equals(adjacent_element_product([5, 6, -4, 2, 3, 2, -23]), 30)
        take a look at.assert_equals(adjacent_element_product([-23, 4, -5, 99, -27, 329, -2, 7, -921]), -14)
        take a look at.assert_equals(adjacent_element_product([5, 1, 2, 3, 1, 4]), 6)
        
    @take a look at.it("Accommodates zeroes")
    def _():
        take a look at.assert_equals(adjacent_element_product([1, 0, 1, 0, 1000]), 0)
        take a look at.assert_equals(adjacent_element_product([1, 2, 3, 0]), 6)
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments