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