CodeACM
HOT 100 · 子串 · LC 560

和为 K 的子数组:ACM 模式刷题

按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。

题目描述

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

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

输入格式

第一行包含两个整数 n 和 k,分别表示数组长度与目标和。

第二行包含 n 个整数 nums[i]。

输出格式

输出一个整数,表示元素和等于 k 的连续子数组数量。

数据范围

  • 1 ≤ n ≤ 2 × 10⁴
  • −1000 ≤ nums[i] ≤ 1000
  • −10⁷ ≤ k ≤ 10⁷

公开样例

样例 1

输入

3 2
1 1 1

输出

2

两个长度为 2 的连续子数组之和均为 2。

样例 2

输入

3 3
1 2 3

输出

2

子数组 [1,2] 和 [3] 的元素和为 3。

练习建议

先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。