Partição móvel

Retorne todas as divisões da esquerda para a direita de um array em duas partes não vazias. Uma entrada de comprimento n produz n - 1 partições; retorne um resultado vazio para uma entrada vazia ou com um único elemento.

Exemplo

Program.MovingPartition(new[] { 1, 2, 3 }) ➢ new[] { new[] { new[] { 1 }, new[] { 2, 3 } }, new[] { new[] { 1, 2 }, new[] { 3 } } }