560. Subarray Sum Equals K ( find the total number of continuous subarrays whose sum equals to k.)

class Solution {
    public int subarraySum(int[] nums, int k) {
      int count = 0;
      int[] prefix_sum = new int[nums.length];
      prefix_sum[0] = nums[0];
      for(int i = 1; i < nums.length; i++){
        prefix_sum[i] = prefix_sum[i-1] + nums[i];
      }
      
      for(int i = 0; i < nums.length; i++){
        for(int j = i; j < nums.length; j++){
          if(prefix_sum[j] - prefix_sum[i] + nums[i] == k){
            count++;
          }
        }
      }
      return count;
        
    }
}

 练习把start 和end 的index打印出来。。 类似LC560,还要简单,只需要返回true/false就行。follow up: overflow如何解决

Given an array of integers and an integer k, you need to find the total number of continuous subarrays whose sum equals to k.

Example 1:

Input:nums = [1,1,1], k = 2
Output: 2

posted on 2018-07-18 09:01  猪猪&#128055;  阅读(114)  评论(0)    收藏  举报

导航