#力扣 LeetCode560. 和为K的子数组 @FDDLC
发布日期:2021-06-30 21:01:42 浏览次数:2 分类:技术文章

本文共 1122 字,大约阅读时间需要 3 分钟。

题目描述:

 

Java代码:

import java.util.HashMap;class Solution { //数组的长度为 [1, 20,000],数组中元素的范围是 [-1000, 1000] ,且整数 k 的范围是 [-1e7, 1e7]    public int subarraySum(int[] nums, int k) { //注:[1,1,1,1],k=2,answer=3!!!        int answer=0;        for(int i=1;i
register=new HashMap<>(); for(int num:nums){ //[2,3,0,4,6,20],k=10 if(num==k)answer++; Integer integer=register.get(num); if(integer!=null)answer+=integer; integer=register.get(num+k); if(integer==null)integer=0; register.put(num+k,++integer); } return answer; }}

 

 

Java代码二:

import java.util.HashMap;class Solution { //数组的长度为 [1, 20,000],数组中元素的范围是 [-1000, 1000] ,且整数 k 的范围是 [-1e7, 1e7]    public int subarraySum(int[] nums, int k) { //注:[1,1,1,1],k=2,answer=3!!!        int answer=0,sn=0;        HashMap
register=new HashMap<>(); register.put(k,1); for(int num:nums){ //[2,3,0,4,6,20],k=10 sn+=num; answer+=register.getOrDefault(sn,0); register.put(sn+k,register.getOrDefault(sn+k,0)+1); } return answer; }}

 

 

 

 

 

 

转载地址:https://liuxingchang.blog.csdn.net/article/details/112210145 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:#力扣 LeetCode476. 数字的补数 @FDDLC
下一篇:#力扣 LeetCode剑指 Offer 61. 扑克牌中的顺子 @FDDLC

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月27日 22时45分41秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章