With Double Error Correction
Leçon 3 sur 3 du cours Défis de programmation pour l'entretien - Pack II de Coddy.
Défi
DifficileOn vous donne un signal sous la forme d'une chaîne de zéros et de uns.
En raison d'un bruit électromagnétique important, il arrive parfois (assez fréquemment) que vous receviez un 0 au lieu d'un 1.
En supposant que chaque signal de 1 puisse comporter au plus deux bits d'erreur (c'est-à-dire deux 0 au lieu de 1), retournez la longueur de la plus longue séquence qui aurait pu vous être envoyée avec seulement deux erreurs.
Exemple 1,
Entrée :
111100111011101110
Sortie attendue :
11
Parce que les deux 0 situés entre les deux séquences de longueur 3 pourraient être une erreur, connectant les trois en une séquence de longueur 11.
Exemple 2 :
Entrée :
0011110010110
Sortie attendue :
7
Parce que les deux 0 à droite de la séquence de longueur 4 pourraient être une erreur, la connectant avec le bit 1, ce qui en fait une séquence de longueur 7.
Essayez vous-même
#include <string.h>
int getLongestRepeatingOnes(char* s) {
// Écrivez le code ici
}