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