Um binary gap é uma sequência de bits consecutivos do mesmo valor (1 ou 0) que são circundados por bits de valores opostos. Por exemplo, o número 14512 (11100010110000) tem duas lacunas binárias 0, uma de comprimento 3 e outra de comprimento 1.
Portanto, o comprimento máximo de um intervalo binário (binary gap) é o comprimento do intervalo mais longo dentro da representação binária do número.
O número 9, tem representação binária 1001, contendo uma binary gap de tamanho 2. O número 529 possui uma representação binária 1000010001 e possui duas gap’s: uma com comprimento 4 e outra com comprimento 3.
Exercício
Construa uma função que, dado uma string, retorna o tamanho do seu maior intervalo entre as letras. Caso não existam intervalos entre as letras A e B, retorne 0.
Para realizar este exercício, você vai precisar:
- Construir uma função chamada lacuna, que receberá como parâmetro uma String.
- Iterar a string;
- Encontrar o primeiro valor A no binário adicionado;
- Encontrar a quantidade de B entre A.
Você pode fazer o download da solução aqui:
[download id=”4132″]