【LC】560. 和为 K 的子数组

题目描述:

给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k的子数组的个数。子数组是数组中元素的连续非空序列。

示例 1:

复制代码
输入:nums = [1,1,1], k = 2
输出:2

示例 2:

复制代码
输入:nums = [1,2,3], k = 3
输出:2

题解:

前缀和+哈希表

复制代码
class Solution {
    public int subarraySum(int[] nums, int k) {
        int n = nums.length;
        int[] s = new int[n + 1];
        for (int i = 0; i < n; i++) {
            s[i + 1] = s[i] + nums[i];
        }
        int ans = 0;
        Map<Integer, Integer> map = new HashMap<>();
        for (int i = 0; i <= n; i++) {
            ans += map.getOrDefault(s[i] - k, 0);
            map.merge(s[i], 1, Integer :: sum);
        }
        return ans;
    }
}
相关推荐
Brianna Home几秒前
从零到一:用Godot打造2D游戏《丛林探险》
算法·游戏·性能优化·游戏引擎·bug·godot·动画
小欣加油2 分钟前
leetcode 143 重排链表
数据结构·c++·算法·leetcode·链表
一头生产的驴4 分钟前
java整合itext pdf实现固定模版pdf导出
java·python·pdf
魔都吴所谓6 分钟前
【python】快速实现pdf批量去除指定位置水印
java·python·pdf
Camel卡蒙7 分钟前
数据结构——字典树Trie(介绍、Java实现)
java·数据结构
kida_yuan8 分钟前
【Java】基于 Tabula 的 PDF 合并单元格内容提取
java·数据分析
courniche36 分钟前
ECDH、ECDHE、ECDLP、ECDSA傻傻分不清?
算法·密码学
SimonKing44 分钟前
TeamViewer、向日葵平替?这几款免费远程控制软件,真香!
java·后端·程序员
前端小刘哥1 小时前
超低延迟与高并发:视频直播点播平台EasyDSS在游戏直播场景的技术实践
算法
Json____1 小时前
最近我用springBoot开发了一个二手交易管理系统,分享一下实现方式~
java·spring boot·后端