With Double Error Correction
Lição 3 de 3 do curso Desafios de Programação para Entrevistas - Pacote II da Coddy.
Desafio
DifícilVocê 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
}