力扣题560和为k的子数组
给你一个整数数组 nums 和一个整数 k ,请你统计并返回该数组中和为 k 的连续子数组的个数。
示例 1:
输入:nums = [1,1,1], k = 2 输出:2 示例 2:
输入:nums = [1,2,3], k = 3 输出:2·
自己一开始的想法是用一个滑动窗口,保存滑动窗口的起始下标和终点下标。但是发现这种做法是不对的,因为一开始的起始下标可能后面又会用到,不能直接抛弃,即右指针向后移1位不能保证区间会增大,左指针j向后移1位也不能保证区间和会减小。因此每一次都考虑以i为结尾的子数组中存在多少和为k的连续子数组。
1.暴力法,双重循环,判断每个起点终点之间的和是否可能为k值。考虑以i为结尾和为k的子数组个数。
class Solution {
public int subarraySum(int[] nums, int k) {
int count = 0;
for (int start = 0;start < nums.length;start++) {
力扣题560和为k的子数组最先出现在Python成神之路。
版权声明:
作者:zhangchen
链接:https://www.techfm.club/p/12178.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论