Чтобы найти лидеров в массивеJAVA

Программисты JAVA общаются здесь
Anonymous
Чтобы найти лидеров в массиве

Сообщение Anonymous »

Напишите программу для вывода всех ВЫВОДОВ в массиве. Элемент является лидером, если он больше всех элементов справа от него. А самый правый элемент всегда является лидером. Например, в массиве {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

Вернуться в «JAVA»