Сообщение Re: Нули и единицы от 04.04.2025 20:04
Изменено 04.04.2025 20:06 apachik
Re: Нули и единицы
смотри, тебе нужно заменить k последовательных нулей, без разрыва. в том смысле, что между ними могут быть единички, но не другие нолики.
заменяешь первые k ноликов единичками. Смотришь, какая длина получилась. А потом двигаешься вправо. Если встретил новый нолик, то должен первый нолик вернуть обратно в ноль. текущая длина — разница текущей позиции и позиции нолика.
А еже ли встретил единичку, то просто увеличиваешь значение текущей длины.
задача просто на аккуратную реализацию. какой-то сложный алгоритм не нужен.
Если умными словами, то это задача на два указателя — начало и конец подпоследовательности. нужно их продвигать вперед так, чтобы между ними было не больше k ноликов.
заменяешь первые k ноликов единичками. Смотришь, какая длина получилась. А потом двигаешься вправо. Если встретил новый нолик, то должен первый нолик вернуть обратно в ноль. текущая длина — разница текущей позиции и позиции нолика.
А еже ли встретил единичку, то просто увеличиваешь значение текущей длины.
задача просто на аккуратную реализацию. какой-то сложный алгоритм не нужен.
Если умными словами, то это задача на два указателя — начало и конец подпоследовательности. нужно их продвигать вперед так, чтобы между ними было не больше k ноликов.
Re: Нули и единицы
смотри, тебе нужно заменить k последовательных нулей, без разрыва. в том смысле, что между ними могут быть единички, но не другие нолики.
заменяешь первые k ноликов единичками. Смотришь, какая длина получилась. А потом двигаешься вправо. Если встретил новый нолик, то должен первый нолик (самый левый) вернуть обратно в ноль. текущая длина — разница текущей позиции и позиции нолика.
А еже ли встретил единичку, то просто увеличиваешь значение текущей длины.
задача просто на аккуратную реализацию. какой-то сложный алгоритм не нужен.
Если умными словами, то это задача на два указателя — начало и конец подпоследовательности. нужно их продвигать вперед так, чтобы между ними было не больше k ноликов.
заменяешь первые k ноликов единичками. Смотришь, какая длина получилась. А потом двигаешься вправо. Если встретил новый нолик, то должен первый нолик (самый левый) вернуть обратно в ноль. текущая длина — разница текущей позиции и позиции нолика.
А еже ли встретил единичку, то просто увеличиваешь значение текущей длины.
задача просто на аккуратную реализацию. какой-то сложный алгоритм не нужен.
Если умными словами, то это задача на два указателя — начало и конец подпоследовательности. нужно их продвигать вперед так, чтобы между ними было не больше k ноликов.