But Nlast

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

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

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