Python | Producto máximo de elementos consecutivos

A veces, podemos tener un problema en el que requerimos obtener el producto máximo de 2 números de la lista pero con la restricción de tener los números en sucesiones. Este tipo de problema puede ocurrir durante la programación competitiva. Analicemos ciertas formas en que se puede resolver este problema.

Método #1: Usar max() + zip()+ comprensión de lista

Este problema se puede resolver usando la combinación de las tres funciones anteriores en las que se puede usar la función max para obtener el valor máximo, zip y comprensión de la lista haciendo la tarea de extender la lógica a toda la lista.

# Python3 code to demonstrate
# Consecutive element maximum product
# using zip() + max() + list comprehension
  
# initializing string 
test_string = '2312231223124565128998'
  
# printing original string 
print("The original string : " + str(test_string))
  
# using zip() + max() + list comprehension
# Consecutive element maximum product
test_string = list(test_string)
res = max(int(a) * int(b) for a, b in zip(test_string, test_string[1:]))
  
# print result
print("The maximum consecutive product is : " + str(res))
Producción :

The original string : 2312231223124565128998
The maximum consecutive product is : 81

Método #2: Usarmax() + map() + operator.mul

El problema anterior también se puede resolver usando otra combinación de funciones. En esta combinación, las funciones de mapa realizan la tarea de extender la lógica a toda la lista y el operador mul se usa para realizar la multiplicación.

# Python3 code to demonstrate
# Consecutive element maximum product
# using max() + map() + operator.mul
from operator import mul
  
# initializing string 
test_string = '6543452345456987653234'
  
# printing original string 
print("The original string : " + str(test_string))
  
# using max() + map() + operator.mul
# Consecutive element maximum product
res = max(map(mul, map(int, test_string), map(int, test_string[1:])))
  
# print result
print("The maximum consecutive product is : " + str(res))
Producción :

The original string : 6543452345456987653234
The maximum consecutive product is : 72

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *