class Solution {public int subarraySum(int[] nums, int k) {int count=0;int sum=0;for(int right=0;right<nums.length;++right){sum+=nums[right];if(sum==k){++count;}int temp=sum;for(int left=0;left<right;
560. 和为 K 的子数组 - 力扣(LeetCode)https://leetcode.cn/problems/subarray-sum-equals-k/description/ 题目描述: 给你一个整数数组 nums 和一个整数 k ,请你统计并返回该数组中和为 k 的子数组的个数 。子数组是数组中元素的连续非空序列。 题目解析: 根据题目我们可以得知本题要求我们找到和为 k 的
560. 和为 K 的子数组 前缀和的知识。 如果要求i~j下标之间的元素和,用前缀和的话,应该是b[j] - b[i-1],i处的值也应该包括。 所以这个题,前缀和数组就要比原数组整体向后平移一个单元格,不然在求0~n的和的时候没法取到-1。 class Solution {public int subarraySum(int[] nums, int k) {int[] b = new in
题目 解法1:哈希表 class Solution {public int subarraySum(int[] nums, int k) {int[] sumArray = new int[nums.length];Map<Integer, Integer> sumToCountMap = new HashMap<>();for (int i = 0; i < nums.length; ++i
题目 解法1:哈希表 class Solution {public int subarraySum(int[] nums, int k) {int[] sumArray = new int[nums.length];Map<Integer, Integer> sumToCountMap = new HashMap<>();for (int i = 0; i < nums.length; ++i