Dato un elenco finito, restituisce un elenco di tutti i suoi prefissi, incluso un elenco vuoto, in ordine crescente della loro lunghezza.
(Fondamentalmente implementando la funzione Haskell inits
.)
Dettagli
- L'elenco di input contiene numeri (o un altro tipo, se più conveniente).
- L'output deve essere un elenco di elenchi .
- L'invio può, ma non deve essere una funzione, è possibile utilizzare qualsiasi I / O predefinito .
- C'è una risposta in CW per tutte le soluzioni banali .
Esempio
[] -> [[]]
[42] -> [[],[42]]
[1,2,3,4] -> [[], [1], [1,2], [1,2,3], [1,2,3,4]]
[4,3,2,1] -> [[], [4], [4,3], [4,3,2], [4,3,2,1]]