Python | Suma mínima de caracteres consecutivos

A veces, podemos tener un problema en el que necesitamos obtener la suma mínima 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 n.º 1: usar min() + zip() la 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 min para obtener el valor mínimo, zip y comprensión de lista haciendo la tarea de extender la lógica a toda la lista.

# Python3 code to demonstrate
# Minimum Sum of Consecutive Characters
# using zip() + min() + list comprehension
  
# initializing string 
test_string = '6543452345456987653234'
  
# printing original string 
print("The original string : " + str(test_string))
  
# using zip() + min() + list comprehension
# Minimum Sum of Consecutive Characters
test_string = list(test_string)
res = min(int(a) + int(b) for a, b in zip(test_string, test_string[1:]))
  
# print result
print("The minimum consecutive sum is : " + str(res))
Producción :

The original string : 6543452345456987653234
The minimum consecutive sum is : 5

Método #2: Usar min() + map()+ operator.add
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 la lista completa y el operador de suma se usa para realizar la multiplicación.

# Python3 code to demonstrate
# Minimum Sum of Consecutive Characters
# using min() + map() + operator.add
from operator import add
  
# initializing string 
test_string = '6543452345456987653234'
  
# printing original string 
print("The original string : " + str(test_string))
  
# using min() + map() + operator.add
# Minimum Sum of Consecutive Characters
res = min(map(add, map(int, test_string), map(int, test_string[1:])))
  
# print result
print("The minimum consecutive sum is : " + str(res))
Producción :

The original string : 6543452345456987653234
The minimum consecutive sum is : 5

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 *