Escriba un programa para imprimir todos los LÍDERES en la array. Un elemento es líder si es mayor que todos los elementos a su lado derecho. Y el elemento más a la derecha es siempre un líder. Por ejemplo, en la array {16, 17, 4, 3, 5, 2}, los líderes son 17, 5 y 2.
Deje que la array de entrada sea arr[] y la longitud de la array sea size .
Método 1 (Simple)
Use dos bucles. El ciclo externo va desde 0 hasta tamaño – 1 y uno por uno selecciona todos los elementos de izquierda a derecha. El bucle interno compara el elemento elegido con todos los elementos de su lado derecho. Si el elemento seleccionado es mayor que todos los elementos a su lado derecho, entonces el elemento seleccionado es el líder.
Python
# Python Function to print leaders in array def printLeaders(arr,size): for i in range(0, size): for j in range(i+1, size): if arr[i]<=arr[j]: break if j == size-1: # If loop didn't break print arr[i], # Driver function arr=[16, 17, 4, 3, 5, 2] printLeaders(arr, len(arr)) # This code is contributed by _Devesh Agrawal__
Producción:
17 5 2
Complejidad de tiempo: O(n*n)
Método 2 (Escanear desde la derecha)
Escanee todos los elementos de derecha a izquierda en una array y realice un seguimiento del máximo hasta ahora. Cuando el máximo cambie su valor, imprímalo.
La imagen de abajo es una ejecución en seco del enfoque anterior:
A continuación se muestra la implementación del enfoque anterior:
Python
# Python function to print leaders in array def printLeaders(arr, size): max_from_right = arr[size-1] print max_from_right, for i in range( size-2, -1, -1): if max_from_right < arr[i]: print arr[i], max_from_right = arr[i] # Driver function arr = [16, 17, 4, 3, 5, 2] printLeaders(arr, len(arr)) # This code contributed by _Devesh Agrawal__
Producción:
2 5 17
Complejidad de tiempo: O(n)
Consulte el artículo completo sobre Líderes en una array para obtener más detalles.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA