Agrupar em ordem
Crie uma função que agrupe um array de números com base em um parâmetro de tamanho. O tamanho representa o comprimento máximo de cada subarray.
[1, 2, 3, 4, 5, 6], 3
[[1, 3, 5], [2, 4, 6]]
# Divide array into groups of size 3.
[1, 2, 3, 4, 5, 6], 2
[[1, 4], [2, 5], [3, 6]]
# Divide array 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" arrays 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 subarray (consulte o ex. 4). Você deve tentar preencher cada subarray 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 subarray igual à ordem no array original.
- Ao distribuir os números nos subarrays, cada subarray deve conter um número antes de receber um novo número (por exemplo, no exemplo 1, seus subarrays terão tamanho 2 e, como há 4 números, você precisará de 2 subarrays. Ao percorrer o array original para preencher os subarrays, deve passar de
[[],[]]->[[1],[]]->[[1],[2]]->[[1, 3], [2]]->[[1, 3], [2, 4]]).