560.和为K的子数组

思路:

用sum[i]表示a[0]~a[i]的和,若sum[j]-sum[i]==k的话,则计数+1

注意:

若sum[i]==k的话,则计数+1

代码:

class Solution {
public:
    int subarraySum(vector<int> &nums, int k) {
        int subsum[nums.size() + 10];
        int sum = 0;
        int cnt=0;
        for (int i = 0; i < nums.size(); i++) {
            sum += nums[i];
            subsum[i] = sum;
            if(subsum[i]==k){
                cnt++;
            }

        }
        for (int i = 0; i < nums.size(); i++) {
            for (int j = i+1; j < nums.size(); j++) {
                if(j==i){
                    continue;
                }

                if (subsum[j] - subsum[i] == k) {
                    printf("%d %d\n",i,j);
                    cnt++;
                }

            }
        }
        return cnt;

    }
};

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 8,712评论 0 2
  • 560. 和为K的子数组 给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例 ...
    万浩2020阅读 4,457评论 0 0
  • 践行90天已经过去三周了,有人说21天能够养成一个习惯,回想现在,是不是已经把践行90天的内容完...
    萧狼阅读 3,114评论 0 0
  • 条件控制 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。可以通过...
    Jaesoon阅读 1,098评论 0 0
  • ——06211 杨贵琼 这是我非常喜欢的绘本之一,在一次选购图书时发现的,确切的说,这是一本非常适合父母和老...
    06211阅读 4,030评论 0 0