我想写一个函数calc(array, n1 , n2)
array
是整数的 vector 。 n1
和n2
参数是由关系0<= n1<= n2<array.size()
定义的整数。calc
方法应返回其索引属于[n1; n2]
间隔的数组整数的总和。
我尝试了此代码,但不正确
class Answer {
public:
static int cal(const vector<int>& array, int n1, int n2) {
int sum = 0;
for (vector<int>::iterator it = array[0]+n1; it != array[0]+n2; ++it)
{
sum + = *it;
}
return sum;
}
};
最佳答案
只需使用std::accumulate
header 中的 <numeric>
,如下所示:
int sum = std::accumulate(std::begin(array) + n1,
std::begin(array) + n2 + 1, 0);
关于c++ - vector 范围为n1 n2的元素之和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63794131/