Líder em um array

Crie uma função que encontre todos os números estritamente maiores do que todos os números que aparecem depois deles. Retorne os números que atendem a esse critério na ordem original de entrada.

Exemplos

leader([2, 3, 20, 15, 8, 3]) ➞ [20, 15, 8, 3]
// 20 é maior do que todos os valores à sua direita; o mesmo vale para 15, 8 e 3.

leader([2, 3, 20, 15, 8, 25, 3]) ➞ [25, 3]
// 20 é excluído porque 25 aparece depois.

leader([1, 2, 3, 4, 5]) ➞ [5]
// 5 atende ao critério porque não restam valores depois dele.

leader([8, 7, 1, 2, 10, 3, 5]) ➞ [10, 5]
// 10 é maior do que todos os valores à sua direita. 3 não é maior do que 5, enquanto 5 não tem nenhum valor depois dele.

Notas

O último elemento sempre atende ao critério. Preserve a ordem de entrada no array retornado.