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 el arreglo {16, 17, 4, 3, 5, 2}, los líderes son 17, 5 y 2. 
Deje que el arreglo de entrada sea arr[] y el tamaño del arreglo 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. 
 

C++

#include<iostream>
using namespace std;
  
/*C++ Function to print leaders in an array */
void printLeaders(int arr[], int size)
{
    for (int i = 0; i < size; i++)
    {
        int j;
        for (j = i+1; j < size; j++)
        {
            if (arr[i] <=arr[j])
                break;
        }    
        if (j == size) // the loop didn't break
            cout << arr[i] << " ";
  }
}
  
/* Driver program to test above function */
int main()
{
    int arr[] = {16, 17, 4, 3, 5, 2};
    int n = sizeof(arr)/sizeof(arr[0]);
    printLeaders(arr, n);
    return 0;
}

Java

class LeadersInArray 
{
    /*Java Function to print leaders in an array */
    void printLeaders(int arr[], int size) 
    {
        for (int i = 0; i < size; i++) 
        {
            int j;
            for (j = i + 1; j < size; j++) 
            {
                if (arr[i] <=arr[j])
                    break;
            }
            if (j == size) // the loop didn't break
                System.out.print(arr[i] + " ");
        }
    }
  
    /* Driver program to test above functions */
    public static void main(String[] args) 
    {
        LeadersInArray lead = new LeadersInArray();
        int arr[] = new int[]{16, 17, 4, 3, 5, 2};
        int n = arr.length;
        lead.printLeaders(arr, n);
    }
}

Python3

# 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],end=' ') 
  
# Driver function 
arr=[16, 17, 4, 3, 5, 2] 
printLeaders(arr, len(arr)) 
  
# This code is contributed by _Devesh Agrawal__ 

C#

// C# program to print
// leaders in array
using System;
class GFG 
{
    void printLeaders(int []arr, 
                      int size) 
    {
        for (int i = 0; i < size; i++) 
        {
            int j;
            for (j = i + 1; j < size; j++) 
            {
                if (arr[i] <=arr[j])
                    break;
            }
              
            // the loop didn't break
            if (j == size) 
                Console.Write(arr[i] + " ");
        }
    }
  
    // Driver Code
    public static void Main() 
    {
        GFG lead = new GFG();
        int []arr = new int[]{16, 17, 4, 3, 5, 2};
        int n = arr.Length;
        lead.printLeaders(arr, n);
    }
}
  
// This code is contributed by
// Akanksha Rai(Abby_akku)

PHP

<?php
// PHP Function to print
// leaders in an array 
function printLeaders($arr, $size)
{
    for ($i = 0; $i < $size; $i++)
    {
        for ($j = $i + 1;
             $j < $size; $j++)
        {
            if ($arr[$i] <=$arr[$j])
                break;
        } 
          
        // the loop didn't break
        if ($j == $size)
            echo($arr[$i] . " "); 
        }
}
  
// Driver Code
$arr = array(16, 17, 4, 3, 5, 2);
$n = sizeof($arr);
printLeaders($arr, $n);
      
// This code is contributed 
// by Shivi_Aggarwal
?>

Javascript

<script>
  
// Javascript Function to print leaders in an array
  
function printLeaders( arr, size)
{
    for (let i = 0; i < size; i++)
    {
        let j;
        for (j = i+1; j < size; j++)
        {
            if (arr[i] <=arr[j])
                break;
        }    
        if (j == size) // the loop didn't break
            document.write(arr[i] + " ");
  }
}
// driver code 
  
        let arr = [ 16, 17, 4, 3, 5, 2 ]; 
        let n = arr.length; 
  
        // Function calling 
        printLeaders(arr, n); 
  
  
</script>

C++

#include <iostream>
using namespace std;
  
/* C++ Function to print leaders in an array */
void printLeaders(int arr[], int size)
{
    int max_from_right =  arr[size-1];
  
    /* Rightmost element is always leader */
    cout << max_from_right << " ";
      
    for (int i = size-2; i >= 0; i--)
    {
        if (max_from_right < arr[i]) 
        {           
            max_from_right = arr[i];
            cout << max_from_right << " ";
        }
    }    
}
  
/* Driver program to test above function*/
int main()
{
    int arr[] = {16, 17, 4, 3, 5, 2};
    int n = sizeof(arr)/sizeof(arr[0]);
    printLeaders(arr, n);
    return 0;
}    

Java

class LeadersInArray 
{
    /* Java Function to print leaders in an array */
    void printLeaders(int arr[], int size)
    {
        int max_from_right =  arr[size-1];
   
        /* Rightmost element is always leader */
        System.out.print(max_from_right + " ");
       
        for (int i = size-2; i >= 0; i--)
        {
            if (max_from_right < arr[i])
            {           
            max_from_right = arr[i];
            System.out.print(max_from_right + " ");
            }
        }    
    }
  
    /* Driver program to test above functions */
    public static void main(String[] args) 
    {
        LeadersInArray lead = new LeadersInArray();
        int arr[] = new int[]{16, 17, 4, 3, 5, 2};
        int n = arr.length;
        lead.printLeaders(arr, n);
    }
}

Python3

# Python function to print leaders in array
def printLeaders(arr, size):
     
    max_from_right = arr[size-1]   
    print (max_from_right,end=' ')    
    for i in range( size-2, -1, -1):        
        if max_from_right < arr[i]:        
            print (arr[i],end=' ')
            max_from_right = arr[i]
          
# Driver function
arr = [16, 17, 4, 3, 5, 2]
printLeaders(arr, len(arr))
  
# This code contributed by _Devesh Agrawal__

C#

// C# program to find Leaders in an array
using System;
  
class LeadersInArray {
      
    // C# Function to print leaders
    // in an array 
    void printLeaders(int []arr, int size)
    {
        int max_from_right = arr[size - 1];
  
        // Rightmost element is always leader
        Console.Write(max_from_right +" ");
      
        for (int i = size - 2; i >= 0; i--)
        {
            if (max_from_right < arr[i])    
            {     
                max_from_right = arr[i];
                Console.Write(max_from_right +" ");
            }
        } 
    }
  
    // Driver Code
    public static void Main(String[] args) 
    {
        LeadersInArray lead = new LeadersInArray();
        int []arr = new int[]{16, 17, 4, 3, 5, 2};
        int n = arr.Length;
        lead.printLeaders(arr, n);
    }
}
  
// This code is contributed 
// by Akanksha Rai(Abby_akku)

PHP

<?php
// PHP Function to print
// leaders in an array 
function printLeaders(&$arr, $size)
{
    $max_from_right = $arr[$size - 1];
  
    // Rightmost element 
    // is always leader 
    echo($max_from_right);
    echo(" ");
      
    for ($i = $size - 2; 
         $i >= 0; $i--)
    {
        if ($max_from_right < $arr[$i])    
        {         
            $max_from_right = $arr[$i];
            echo($max_from_right);
            echo(" ");
        }
    } 
}
  
// Driver Code
$arr = array(16, 17, 4, 3, 5, 2);
$n = sizeof($arr);
printLeaders($arr, $n);
  
// This code is contributed 
// by Shivi_Aggarwal
?>

Javascript

<script>
  
    /* JavaScript Function to print leaders in an array */
    function printLeaders(arr,size)
    {
        let max_from_right = arr[size-1];
  
        /* Rightmost element is always leader */
         document.write(max_from_right + " ");
  
        for (let i = size-2; i >= 0; i--)
        {
            if (max_from_right < arr[i])
            {        
                max_from_right = arr[i];
                document.write(max_from_right + " ");
            }
        }
    }
  
    /* Driver program to test above function*/
  
    let arr = [16, 17, 4, 3, 5, 2];
    let n = arr.length;
    printLeaders(arr, n);
      
</script>

C++

#include <bits/stdc++.h>
using namespace std;
  
/* C++ Function to print leaders in an array */
void printLeaders(int arr[], int size)
{
      /* create stack to store leaders*/
      stack<int> sk;
      sk.push(arr[size-1]);
    
    for (int i = size-2; i >= 0; i--)
    {
        if(arr[i] > sk.top())
        {          
            sk.push(arr[i]);
        }
    }   
    
      /* print stack elements*/
      /* run loop till stack is not empty*/
      while(!sk.empty()){      
        cout<<sk.top()<<" ";
          sk.pop();
    }
}
  
/* Driver program to test above function*/
int main()
{
    int arr[] = {16, 17, 4, 3, 5, 2};
    int n = sizeof(arr)/sizeof(arr[0]);
    printLeaders(arr, n);
    return 0;
}  

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 *