Python: suma máxima de pares en strings numéricas

A veces, podemos tener un problema en el que necesitamos obtener la suma máxima de 2 números de Strings 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: Uso max() + zip()de la comprensión de la lista +
Este problema se puede resolver mediante 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 la comprensión de la lista haciendo la tarea de extender la lógica a toda la lista.

# Python3 code to demonstrate
# Maximum Pair Summation in String
# using zip() + max() + list comprehension
  
# initializing string 
test_string = '6543452345456987653234'
  
# printing original string 
print("The original string : " + str(test_string))
  
# using zip() + max() + list comprehension
# Maximum Pair Summation in String
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 sum is : " + str(res))
Producción :

The original string : 6543452345456987653234
The maximum consecutive sum is : 17

Método #2: Usarmax() + 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 toda la lista y el operador de suma se usa para realizar la suma.

# Python3 code to demonstrate
# Maximum Pair Summation in String
# using max() + map() + operator.add
from operator import add
  
# initializing string 
test_string = '6543452345456987653234'
  
# printing original string 
print("The original string : " + str(test_string))
  
# using max() + map() + operator.add
# Maximum Pair Summation in String
res = max(map(add, map(int, test_string), map(int, test_string[1:])))
  
# print result
print("The maximum consecutive sum is : " + str(res))
Producción :

The original string : 6543452345456987653234
The maximum consecutive sum is : 17

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 *