Дан массив целых чисел nums и целое число k, вернуть общее количество подмассивов, сумма которых равна k.
Подмассив - это непрерывная непустая последовательность элементов внутри массива.
Пример:
Input: nums = [1,1,1], k = 2 Output: 2
👨💻Алгоритм:
1⃣Самый простой метод - рассмотреть каждый возможный подмассив данного массива nums.
2⃣Найти сумму элементов каждого из этих подмассивов и проверить равенство полученной суммы с заданным k.
3⃣Всякий раз, когда сумма равна k, увеличить счетчик, используемый для хранения необходимого результата.
😎Решение:
public class Solution { public int subarraySum(int[] nums, int k) { int count = 0; for (int start = 0; start < nums.length; start++) { for (int end = start + 1; end <= nums.length; end++) { int sum = 0; for (int i = start; i < end; i++) { sum += nums[i]; } if (sum == k) { count++; } } } return count; } }
Дан массив целых чисел nums и целое число k, вернуть общее количество подмассивов, сумма которых равна k.
Подмассив - это непрерывная непустая последовательность элементов внутри массива.
Пример:
Input: nums = [1,1,1], k = 2 Output: 2
👨💻Алгоритм:
1⃣Самый простой метод - рассмотреть каждый возможный подмассив данного массива nums.
2⃣Найти сумму элементов каждого из этих подмассивов и проверить равенство полученной суммы с заданным k.
3⃣Всякий раз, когда сумма равна k, увеличить счетчик, используемый для хранения необходимого результата.
😎Решение:
public class Solution { public int subarraySum(int[] nums, int k) { int count = 0; for (int start = 0; start < nums.length; start++) { for (int end = start + 1; end <= nums.length; end++) { int sum = 0; for (int i = start; i < end; i++) { sum += nums[i]; } if (sum == k) { count++; } } } return count; } }
3How to create a Telegram channel? To upload a logo, click the Menu icon and select “Manage Channel.” In a new window, hit the Camera icon. Unlimited number of subscribers per channel 1What is Telegram Channels? A Hong Kong protester with a petrol bomb. File photo: Dylan Hollingsworth/HKFP.
from us