Сложность: medium
Дан массив целых чисел nums и целое число k, вернуть общее количество подмассивов, сумма которых равна k.
Подмассив - это непрерывная непустая последовательность элементов внутри массива.
Пример:
Input: nums = [1,1,1], k = 2
Output: 2
👨💻 Алгоритм:
1⃣Самый простой метод - рассмотреть каждый возможный подмассив данного массива nums.
2⃣Найти сумму элементов каждого из этих подмассивов и проверить равенство полученной суммы с заданным k.
3⃣Всякий раз, когда сумма равна k, увеличить счетчик, используемый для хранения необходимого результата.
😎 Решение:
class Solution {
func subarraySum(_ nums: [Int], _ k: Int) -> Int {
var count = 0
for start in 0..<nums.count {
for end in (start + 1)...nums.count {
var sum = 0
for i in start..<end {
sum += nums[i]
}
if sum == k {
count += 1
}
}
}
return count
}
}Ставь 👍 и забирай 📚 Базу знаний