Menu
Coddy logo textTech

With Double Error Correction

Lição 3 de 3 do curso Desafios de Programação para Entrevistas - Pacote II da Coddy.

challenge icon

Desafio

Difícil

Você recebe um sinal como uma string de zeros e uns.

Devido a alguns ruídos eletromagnéticos intensos, às vezes (não tão raramente) você recebe 0 em vez de 1.

Assumindo que cada sinal de 1s pode ter no máximo dois bits de erro (ou seja, dois 0s em vez de 1s), retorne o comprimento da sequência mais longa que possivelmente poderia ter sido enviada a você com apenas dois erros.

 

Exemplo 1,

Entrada:

111100111011101110

Saída esperada:

11

Porque ambos os 0s entre as duas sequências de comprimento 3 poderiam ser um erro, conectando as três em uma sequência de comprimento 11.
 

Exemplo 2:

Entrada:

0011110010110

Saída esperada:

7

Porque os dois 0s à direita da sequência de comprimento 4 poderiam ser um erro, conectando-a com o bit 1, tornando-os uma sequência de comprimento 7.

Experimente você mesmo

#include <string.h>

int getLongestRepeatingOnes(char* s) {
    // Escreva o código aqui
}

Todas as lições de Desafios de Programação para Entrevistas - Pacote II

1Challenges

Longest Repeating OnesWith Error CorrectionWith Double Error Correction