【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;
    }
}
相关推荐
长不大的杨瑞杰28 分钟前
OpenCode v2 LSP 实战:内置语言服务器、自定义配置与诊断闭环
java·人工智能·typescript·lsp·opencode
云和数据.ChenGuang33 分钟前
python和java的try
java·开发语言·python
zwc321043205534 分钟前
第四周第五天——重构成类
c++·人工智能·opencv·算法·计算机视觉
日日大王学编程34 分钟前
阿里巴巴开源 Data Agent(Text2SQL)项目全维度详解
java·ai·开源
Wang's Blog37 分钟前
Java 项目实战:交友项目 - 交友左滑右滑
java·交友
测试盐40 分钟前
spark作业日志定位过程
java·hadoop·spark
ly768944 分钟前
从 OpenAPI 到多语言 SDK 生成:Java 服务端契约漂移与生成器版本治理
java·开发语言·openapi·java 21·版本兼容·契约漂移·sdk 生成
lqbzlll1 小时前
CVE-2026-91403 排查指南:Java JSSE 信任链漏洞的根因、影响范围和修复步骤
java·开发语言·信任链
CarIise1 小时前
AOP 概念的引入
java·开发语言
Navigator_Z1 小时前
LeetCode //C - 1311. Get Watched Videos by Your Friends
c语言·算法·leetcode