O (nlogn) Алгоритм - Находят три равномерно расположенных с интервалами в двоичной строке

Поглядите здесь , если Вы хотите с 7 zip с C#. Это было вопросом в другом сообщении в ТАК. Это могло бы помочь Вам.

173
задан 9 revs, 5 users 59% 2 June 2012 в 05:51
поделиться

31 ответ

Это можно решить за линейное время O (n)

  1. начать с начала и дождаться первого 1
  2. Начните считать нули.
  3. Когда вы нажимаете 1 магазин, количество подсчитанных нулей (действительное число также равно 0) NumberOfZeros -> PrevZeros
  4. Начать подсчет нулей.
  5. Когда вы нажимаете 1, проверьте NumberOfZeros == PrevZeros

    Если истинно , верните счетчик

    else NumberOfZeros -> prev_zeros и goto 4

-7
ответ дан 23 November 2019 в 20:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: