C++ 实现数列中长度为 K 的连续部分总和计算
以下是使用 C++ 解决该问题的代码: ```cpp #include <iostream> #include <vector> using namespace std; int main() { int N, K; // 输入 N 和 K cin >> N >> K; vector<int> a(N); // 输入数列 a for (int i = 0; i < N; i++) { cin >> a[i]; } long long sum = 0; // 计算第一个长度为 K 的连续部分的和 long long currentSum = 0; for (int i = 0; i < K; i++) { currentSum += a[i]; } sum += currentSum; // 滑动窗口计算后续长度为 K 的连续部分的和 for (int i = K; i < N; i++) { // 减去窗口最左边的元素,加上窗口最右边的元素 currentSum = currentSum - a[i - K] + a[i]; sum += currentSum; } // 输出结果 cout << sum << endl; return 0; } ``` ### 代码解释 1. **输入处理**:首先读取整数 `N` 和 `K`,然后读取长度为 `N` 的整数数列 `a`。 2. **计算第一个长度为 `K` 的连续部分的和**:使用一个循环计算数列前 `K` 个元素的和,并将其累加到 `sum` 中。 3. **滑动窗口计算后续部分的和**:使用一个循环,每次减去窗口最左边的元素,加上窗口最右边的元素,更新当前和 `currentSum`,并将其累加到 `sum` 中。 4. **输出结果**:最后输出总和 `sum`。 ######[AI问答 | 435点数解答 | 2026-05-10 16:08:53]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)384
- 深入解析洛谷打卡系统:规则揭秘与代码实现(字节豆包 | 316点数解答 | 2025-11-16 19:45:59)131
- 巧用 Python 求解数列积之和,附输入输出及样例详解!(字节豆包 | 263点数解答 | 2026-01-24 13:02:54)54
- PHP利用通信证书对请求报文data部分计算p7分离式签名结果数据全流程指南(讯飞星火 | 446点数解答 | 2023-12-07 17:06:14)322
- PHP利用OpenSSL扩展:实现对请求报文data部分的P7分离式签名计算(阿里通义 | 306点数解答 | 2023-12-07 17:06:58)283
- PHP利用颁发通信证书,轻松计算请求报文data部分P7分离式签名结果 (讯飞星火 | 483点数解答 | 2023-12-07 17:12:57)306
- PHP 利用通信证书为请求报文 data 部分计算 P7 分离式签名结果数据全流程揭秘 ( | 343点数解答 | 2023-12-07 17:13:17)250
- PHP利用openssl库:实现请求报文data部分P7分离式签名计算与验证 (阿里通义 | 344点数解答 | 2023-12-07 17:13:51)250
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)355
- C++ 代码实现自定义运算 x@y = x² + y² - xy 及 x@(x+y) 计算(DeepSeek | 215点数解答 | 2025-12-13 15:08:14)101
- C++ 实现根据输入正整数奇偶性计算偶数和或约数和(字节豆包 | 838点数解答 | 2026-02-28 20:23:59)60
- 解决代码WA问题:修改整数溢出问题后的计算代码(字节豆包 | 749点数解答 | 2026-05-10 16:20:03)5