A veces, podemos tener un problema en el que necesitamos obtener la diferencia máxima 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: 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 # Consecutive Character Maximum difference # 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 # Consecutive Character Maximum difference test_string = list(test_string) res = max(abs(int(a) - int(b)) for a, b in zip(test_string, test_string[1:])) # print result print("The maximum consecutive difference is : " + str(res))
The original string : 6543452345456987653234 The maximum consecutive difference is : 3
Método #2: Usarmax() + map() + operator.sub
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 diferencia.
# Python3 code to demonstrate # Consecutive Character Maximum difference # using max() + map() + operator.sub from operator import sub # initializing string test_string = '6543452345456987653234' # printing original string print("The original string : " + str(test_string)) # using max() + map() + operator.sub # Consecutive Character Maximum difference res = max(map(sub, map(int, test_string), map(int, test_string[1:]))) # print result print("The maximum consecutive difference is : " + str(res))
The original string : 6543452345456987653234 The maximum consecutive difference is : 3
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