Programa de Python para líderes en una array

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

Deja una respuesta

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