Obviamente, a rede SE tem muito conhecimento de como ser respeitoso no banheiro, mas para aqueles que precisam de uma recapitulação, ser respeitoso significa liberar o vaso sanitário, etc. dos outros quanto possível.
O desafio
Dado o plano de um conjunto de barracas com indicações de quais estão em uso como uma sequência, você deve retornar ou imprimir a partir de uma função ou programa em que seja o local mais respeitoso para fazer seus negócios.
A entrada
0 1 2 3 4 5 <- The stall number which is not actually visible in the input.
| | |-| |-|-| <- the stalls
As barracas são numeradas em ordem crescente da esquerda para a direita. Sempre haverá pelo menos uma barraca vazia. Pode haver até 50 barracas em uma entrada. Você também pode tirar a entrada como uma matriz ou string de 0
s e 1
s ou booleans se preferir fazê-lo.
As barracas em uso têm -
nelas (entre os canos).
A saída
A barraca mais respeitosa de se ir é a que fica, em média, mais distante das que estão em uso. A distância entre duas barracas é o valor absoluto da diferença dos números acima delas.
Só para esclarecer: você está encontrando a distância média de todas as barracas - não apenas das vizinhas.
Você deve produzir o número mais baixo da paralisação mais respeitosa para ir para que esteja vazio .
Exemplos
Input:
|-| |-| OR 101
Output:
1
Input:
| | |-| |-|-| OR 001011
Output:
0
Input:
|-| |-| | | | |-|-| OR 101000011
Output:
1
Input:
|-| | | | | |-|-| | | | | OR 100000110000
Output:
11
Input:
|-|-|-|-| | | | | | |-| OR 11110000001
Output:
9
Input:
|-| | OR 10
Output:
1
Input:
|-| | |-| OR 1001
Output:
1
Isso é código-golfe , então o código mais curto em bytes vence!
Você pode usar a indexação baseada em 0 ou 1 em sua resposta - o que você preferir; se você usa uma indexação baseada em 1, deve dizê-lo explicitamente em sua resposta.
[1,0,0,1]
como um caso de teste. Nenhum dos casos de teste atuais verifica se os vínculos foram interrompidos corretamente.
101000011
retornar 1 (em vez de 4 ou 5)?