请用C++14的语言写出区间平方和这道题
时间: 2024-10-03 10:01:40 浏览: 34
区间平方和是一个经典的算法题目,它要求计算数组中每个连续子数组的平方和。以下是使用C++14编写的一个简单解决方案:
```cpp
#include <vector>
#include <iostream>
// 计算给定区间的平方和
long long range_sum_squares(const std::vector<int>& nums, int left, int right) {
long long sum = 0;
for (int i = left; i <= right; ++i) {
// 提前计算当前数的平方
sum += (long long)nums[i] * nums[i];
}
return sum;
}
int main() {
std::vector<int> nums = {1, 2, 3, 4, 5};
int left = 0;
int right = 3;
// 示例查询
long long result = range_sum_squares(nums, left, right);
std::cout << "区间 [" << left << ", " << right << "] 的平方和是: " << result << std::endl;
// 可根据需要多次调用此函数处理不同区间
return 0;
}
```
在这个程序中,我们首先定义了一个名为`range_sum_squares`的函数,它接受一个整数数组、左边界和右边界作为输入,然后遍历该区间,计算每个元素的平方并累加到总和上。在`main`函数中,我们创建了一个示例数组,并调用`range_sum_squares`来计算指定范围内的平方和。
阅读全文