Você recebeu uma sacola de Skittles. Todo mundo sabe que, para apreciar mais os diferentes sabores, é preciso alternar entre os sabores.
Fundamentos:
- Você só pode comer 1 pino de cada vez
- A ordem em que você come seus skittles deve ser periódica.
- Cada período não pode conter um sabor específico mais de uma vez.
- Sua mala possui apenas tantos skittles. Você não pode comer mais de um sabor específico de skittle do que aparece na sua bolsa.
- Você quer comer tantos skittles quanto possível (nem sempre é possível)
Exemplos:
Digamos que você comece com 3 skittles vermelhos, 2 azuis e 3 verdes:
R B G R B G R G Invalid: The last R must be followed by a B, not a G
R B G R B G R Valid, but sub-optimal
R R R Valid, but sub-optimal
R G B R G B R G Valid and optimal
G R B G R B G R Also valid and optimal (there are multiple good solutions)
Entrada / Saída
- Você recebe uma lista não vazia de números inteiros positivos para as contagens de cores. (O exemplo acima seria
[3,2,3]
). - Você precisa retornar uma lista contendo pedidos válidos e ideais.
- Em vez de usar cores, você usará os índices da lista de entrada. (O último exemplo de saída acima seria
[2,0,1,2,0,1,2,0]
). - Sua saída pode ser 0 ou 1. Meus exemplos serão indexados em 0
Casos de teste
1 0
4 0 0 0 0
4 1 0 0 0 0
3 1 0 1 0 or 0 0 0
5 2 2 0 1 2 0 1 2 0
2 3 5 2 1 0 2 1 0 2 1 or 1 2 0 1 2 0 1 2
2 4 5 2 1 2 1 2 1 2 1 2
3 4 5 2 1 0 2 1 0 2 1 0 2 1 or 1 2 0 1 2 0 1 2 0 1 2
1 1 1 1 1 6 5 0 1 2 3 4 5 (lots of other solutions)
1 1 1 1 1 8 5 5 5 5 5 5 5 5
2 4 6 8 3 2 1 3 2 1 3 2 1 3 2 1 3 2
Este é um código de golfe , então faça suas soluções o mais curto possível no seu idioma favorito!