前缀和C++代码实现
时间: 2023-11-14 08:04:14 浏览: 83
前缀和(Prefix Sum)是一种常见的算法技巧,用于求解数组中连续子数组的和。下面是一个简单的C++代码实现:
```cpp#include <iostream>
#include <vector>
std::vector<int> prefixSum(const std::vector<int>& nums) {
int n = nums.size();
std::vector<int> prefix(n,0);
prefix[0] = nums[0];
for (int i =1; i < n; i++) {
prefix[i] = prefix[i-1] + nums[i];
}
return prefix;
}
int main() {
std::vector<int> nums = {1,2,3,4,5};
std::vector<int> prefix = prefixSum(nums);
for (int num : prefix) {
std::cout << num << " ";
}
return0;
}
```
以上代码中,`prefixSum` 函数接受一个整数数组 `nums`作为输入,返回一个新的数组 `prefix`,其中 `prefix[i]` 表示原数组 `nums` 中前 `i+1`个元素的和。
在 `main` 函数中,我们定义了一个示例数组 `nums`,然后调用 `prefixSum` 函数计算前缀和,并将结果存储在 `prefix` 中。最后,我们遍历输出 `prefix` 中的元素。
运行该程序,输出结果为:1361015,表示原数组 `{1,2,3,4,5}` 的前缀和数组。
阅读全文