Напишите программу для вывода всех ВЫВОДОВ в массиве. Элемент является лидером, если он больше всех элементов справа от него. А самый правый элемент всегда является лидером. Например, в массиве {16, 17, 4, 3, 5, 2} лидерами являются 17, 5 и 2.
Пусть входной массив будет arr[], а размер массива будет size.
o/p я получаю 2 5 17
Примечание: я также хочу, чтобы o/p был в обратном порядке. один под другим (перенос строки).
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)
{
max_from_right = arr;
System.out.print(max_from_right + " ");
}
}
}
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);
}
}
Ожидаемый результат:
17
5
2
Подробнее здесь: https://stackoverflow.com/questions/568 ... n-an-array