Menu
Coddy logo textTech

With Double Error Correction

Урок 3 из 3 курса Задачи для собеседований по программированию — Набор II на Coddy.

challenge icon

Задание

Сложно

Вам дан сигнал в виде строки из нулей и единиц.

Из-за сильных электромагнитных помех иногда (не так уж редко) вы получаете 0 вместо 1.

Предполагая, что в каждом сигнале из единиц может быть не более двух ошибочных битов (то есть два 0 вместо 1), верните длину самой длинной последовательности, которая могла быть вам отправлена только с двумя ошибками.

 

Пример 1,

Ввод:

111100111011101110

Ожидаемый результат:

11

Потому что оба 0 между двумя последовательностями длиной 3 могут быть ошибкой, соединяя три части в последовательность длиной 11.
 

Пример 2:

Ввод:

0011110010110

Ожидаемый результат:

7

Потому что два 0 справа от последовательности длиной 4 могут быть ошибкой, соединяя её с битом 1, что дает последовательность длиной 7.

Попробуйте сами

#include <string.h>

int getLongestRepeatingOnes(char* s) {
    // Напишите код здесь
}

Все уроки раздела Задачи для собеседований по программированию — Набор II

1Challenges

Longest Repeating OnesWith Error CorrectionWith Double Error Correction

Потренируйтесь самостоятельно: Онлайн-компилятор C