和为K的子数组-哈希表

class Solution {
    public int subarraySum(int[] nums, int k) {
        HashMap<Integer,Integer> h=new HashMap<>();
        int sum=0;
        int count=0;
        h.put(0,1);
        for(int i=0;i<nums.length;i++){
             sum+=nums[i];
             if(h.containsKey(sum-k)){
                 count+=h.get(sum-k);
             }
            h.put(sum,h.getOrDefault(sum,0)+1);
        }
        return count;
    }
}

  

posted @ 2019-09-01 17:58  hhhl  阅读(367)  评论(0编辑  收藏  举报