Количество подмассивов с уникальной суммой с суммой не более K
Опубликовано: 20 Сентября, 2022
Дан массив arr[] размера N и целое число K . Задача состоит в том, чтобы подсчитать количество подмассивов с уникальной суммой, сумма которых не превышает K.
Примеры :
Input: N = 3, arr[] = {1, 0, 1}, K = 1
Output: 3
Explanation: All Subarrays are [1], [0], [1], [1, 0], [0, 1], [1, 0, 1] & The sum of these subarrays are {1, 0, 1, 1, 1, 2} respectively. There are only 2 distinct possible sums less than or equal to 1
Input: N = 1, arr[] = {1}, K = 0
Output: 0
Подход : Задача может быть решена путем вычисления сумм каждого подмассива и сохранения их в HashMap . Перебрать HashMap и увеличить счетчик, если сумма не превышает K
Ниже приведена реализация вышеуказанного подхода
Временная сложность : O(N 2 )
Вспомогательное пространство : O(N)