Nlast

Dada uma [!scala]List[Int][/!][!java|python]recursive list[/!] e um inteiro N, retorna a lista com apenas os últimos N elementos.

Sua solução deve ser linear no tempo, mas você provavelmente precisa definir várias funções para alcançar esta complexidade.

O segredo é calcular apenas uma vez (e previamente) quantos elementos você deve guardar.