当前位置: 首页 > news >正文

Leecode热题100-560.和为k的子数组

给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 

子数组是数组中元素的连续非空序列。

示例 1:

输入:nums = [1,1,1], k = 2
输出:2

示例 2:

输入:nums = [1,2,3], k = 3
输出:2

提示:

  • 1 <= nums.length <= 2 * 104
  • -1000 <= nums[i] <= 1000
  • -107 <= k <= 107

读一遍应该就懂了,不懂留言或者私信,看到第一时间解答

class Solution {/**这个题目竟然有负数,所以不符合滑动窗口的条件这个题我们需要用哈希表的解法,基本思路就是如果从0~i的累加值是x前面某个位置0~j的累加和中有多少个x-k,那以i结尾的子数组就有多少个*/public int subarraySum(int[] nums, int k) {/**边界判断,也可以没有 */if(nums.length == 1 && nums[0] != k) {return 0;}/**定义一个hashmap,用来保存0~j位置的某个累加和出现了多少次 */Map<Integer,Integer> countMap = new HashMap<>();/**这里一定要放个0的值,因为很可能0位置的值就是k */countMap.put(0,1);int preSum = 0;/**count用来统计结果数 */int count = 0;for(int i = 0; i < nums.length; i++) {/**把当前值加到preSum里 */preSum += nums[i];/**当前的累加和是preSum,如果前面出现了preSum-k多少次,就有多少个以i位置结尾的子数组的和为k如果没有preSum-k,则没有以i位置结尾的子数组满足这个条件这里我们举个例子,比如当前的累加和是100,然后我们的k是20,那我们只需要看一下前面有多少个80就行了这个80是啥呢,就是preSum - k */if(countMap.containsKey(preSum - k)) {count += countMap.get(preSum - k);}/**不管包含不包含,当前的值都要放进去,记住用原来的数量(或者0)+ 1*/countMap.put(preSum, countMap.getOrDefault(preSum, 0) + 1);}return count;}
}

http://www.lryc.cn/news/455608.html

相关文章:

  • Mac 卸载 IDEA 流程
  • vue3 antdv3/4 Modal显示一个提示,内容换行显示。
  • Jgit的使用
  • SQL Server—约束和主键外键详解
  • 信息学奥赛复赛复习14-CSP-J2021-03网络连接-字符串处理、数据类型溢出、数据结构Map、find函数、substr函数
  • Allegro如何合并同名网络铜皮操作指导
  • 【探测器】线阵相机中的 TDI 技术
  • k8s 之安装metrics-server
  • java学习-idea编辑器基础使用设置
  • PDSCH(物理下行共享信道)简介
  • hutool bug
  • 69.x的平方根 367.完全有效的平方数
  • Android Automotive(一)
  • 命令设计模式
  • 探索智能新境界:最好用的AI工具盘点
  • 【Redis】持久化(下)-- AOF
  • 用Arduino单片机制作一个简单的音乐播放器
  • 软件工程相关
  • 速盾:游戏加速下载可以用cdn吗?
  • 每日新闻掌握【2024年9月25日 星期三】
  • 8. Bug 与 Error
  • 论文 | Model-tuning Via Prompts Makes NLP Models Adversarially Robust
  • 828华为云征文|华为云Flexus云服务器X实例部署 即时通讯IM聊天交友软件——高性能服务器实现120W并发连接
  • 超好用的element的el-pagination分页组件二次封装-附源码及讲解
  • 【AIGC】通过OpenAi Canvas修改论文(附40条论文优化指令)
  • Kubernetes Pod详解
  • Vue2电商项目(七)、订单与支付
  • 你知道U盘怎么加密吗?
  • 【软件教程OBS下载使用】一篇文章教会你如何下载安装使用OBS-Studio
  • 鸿蒙next开发第一课03.ArkTs语法介绍-案例