Líder en un arreglo

Crea un método que encuentre todos los números que sean estrictamente mayores que todos los números que aparecen después de ellos. Devuelve los números que cumplen esta condición en el orden original de entrada.

Ejemplos

Program.leaders(new int[]{2, 3, 20, 15, 8, 3}) ➞ new int[]{20, 15, 8, 3}
// 20 es mayor que todos los valores a su derecha; lo mismo ocurre con 15, 8 y 3.

Program.leaders(new int[]{2, 3, 20, 15, 8, 25, 3}) ➞ new int[]{25, 3}
// 20 se excluye porque 25 aparece después.

Program.leaders(new int[]{1, 2, 3, 4, 5}) ➞ new int[]{5}
// 5 cumple la condición porque no quedan valores después de él.

Program.leaders(new int[]{8, 7, 1, 2, 10, 3, 5}) ➞ new int[]{10, 5}
// 10 es mayor que todo lo que está a su derecha. 3 no es mayor que 5, mientras que 5 no tiene ningún valor después.

Notas

El último elemento siempre cumple la condición. Conserva el orden de entrada en el arreglo devuelto.