Контест Middle Слайсы и мапы изнутри обновлено
Число подмассивов с суммой k на Go
Условие
Посчитайте, сколько непрерывных подмассивов имеют сумму ровно k.
Ввод: n k (1 ≤ n ≤ 1.5·10⁴, |k| ≤ 10⁹), затем n целых чисел, |aᵢ| ≤ 10⁴. Числа могут быть отрицательными.
Вывод: одно число.
Пример
5 3
1 2 1 2 1
4
Как подойти
Префиксные суммы и мапа частот: ответ += cnt[p - k], затем cnt[p]++.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.
Ещё по теме «Слайсы и мапы изнутри»
- Разбить слайс на части по k на Go
- Удаление дубликатов с сохранением порядка на Go
- Группировка анаграмм на Go
- Что выведет Go: append при полной ёмкости
- Что выведет Go: два append в один подслайс
- Что выведет Go: массив передаётся по значению
- Что выведет Go: изменение элемента и append в функции
- Что выведет Go: удаление ключей во время range