5809. Самое дальнее место в ряду

Medium 0 решили
В одном ряду кинотеатра места заданы массивом seats. 1 — место занято, 0 — свободно. Места пронумерованы с нуля слева направо.

Сядьте на свободное место так, чтобы расстояние до ближайшего занятого было как можно больше. Расстояние между местами i и j — это |i − j|: соседние места дают 1.

В ряду есть хотя бы одно свободное место и хотя бы одно занятое. Верните это максимальное расстояние.

Примеры:

Вход: [1, 0, 0, 0, 1, 0, 1]
Выход: 2
Объяснение: Место с индексом 2 одинаково далеко от зрителей на 0 и на 4: расстояние 2. Остальные свободные места ближе к кому-то из зрителей.
Вход: [1, 0, 0, 0]
Выход: 3
Объяснение: Зритель один, на индексе 0. Крайнее правое место даёт расстояние 3.
Вход: [0, 0, 0, 1]
Выход: 3
Объяснение: Зритель на индексе 3. Крайнее левое место даёт расстояние 3.

Ограничения:

2 <= seats.length <= 10^5 seats[i] равен 0 или 1 в ряду есть хотя бы один 0 и хотя бы один 1

Теги:

Часто на собесе Два указателя

Комментарии (0)

Зарегистрируйтесь или войдите, чтобы оставить комментарий

Пока нет комментариев. Будьте первым!