Menu
Coddy logo textTech

With Double Error Correction

Leçon 3 sur 3 du cours Défis de programmation pour l'entretien - Pack II de Coddy.

challenge icon

Défi

Difficile

On 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
}

Toutes les leçons de Défis de programmation pour l'entretien - Pack II

1Challenges

Longest Repeating OnesWith Error CorrectionWith Double Error Correction