525. Contiguous Array
Содержание
Условие задачи
Дан бинарный массив, необходимо найти максимальноую длинну непрерывного подмассива с одинаковым количестов нулей и единиц
пример 1
|
|
пример 2
|
|
Ограничения
- Длинна массива не превышает 50000 элементов.
Решение
Hash map
Идея такая:
- завести переменную
sum
- идти по массиву и добавлять к сумме
1
если текущий элемент равен1
, и отнимать1
если текущий элемент равен-1
- Если по в мапе по ключу текущей суммы есть значение, то сравнить
idx-m[sum]+1
и текущий максимум. если максимум меньше - присвоить ему новое значение. - Записывать в маппу в ключ значение сумму (если по этому ключу не было значений ранее), а в значение – текущую позицию
|
|