Agrupar em ordem
Crie uma função que agrupe uma lista de números com base em um parâmetro de tamanho. O tamanho representa o comprimento máximo de cada sublista.
[1, 2, 3, 4, 5, 6], 3
[[1, 3, 5], [2, 4, 6]]
# Divide list into groups of size 3.
[1, 2, 3, 4, 5, 6], 2
[[1, 4], [2, 5], [3, 6]]
# Divide list into groups of size 2.
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], 4
[[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9]]
# "Leftover" lists are okay.Exemplos
group([1, 2, 3, 4], 2) ➞ [[1, 3], [2, 4]]
group([1, 2, 3, 4, 5, 6, 7], 4) ➞ [[1, 3, 5, 7], [2, 4, 6]]
group([1, 2, 3, 4, 5], 1) ➞ [[1], [2], [3], [4], [5]]
group([1, 2, 3, 4, 5, 6], 4) ➞ [[1, 3, 5], [2, 4, 6]]Observações
- O parâmetro tamanho representa o tamanho máximo de cada sublista (consulte o ex. 4). Você deve tentar preencher cada sublista de maneira uniforme. Em outras palavras, o ex. 4 deve ser
[[1, 3, 5], [2, 4, 6]], não[[1, 3, 5, 6], [2, 4]]. - Mantenha a ordem relativa dos números em cada sublista igual à ordem na lista original.
- Ao distribuir os números nas sublistas, cada sublista deve conter um número antes de receber um novo número (por exemplo, no exemplo 1, suas sublistas terão tamanho 2 e, como há 4 números, você precisará de 2 sublistas. Ao percorrer a lista original para preencher as sublistas, deve passar de
[[],[]]->[[1],[]]->[[1],[2]]->[[1, 3], [2]]->[[1, 3], [2, 4]]).