范围为 n1 n2 的向量元素的总和

Meh*_*rab 1 c++ algorithm sum vector function-definition

我想写一个函数 calc(array, n1 , n2)

array是一个整数向量。的n1n2参数是由以下关系定义的整数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;
    }

};
Run Code Online (Sandbox Code Playgroud)

cig*_*ien 6

只需std::accumulate<numeric>标题中使用,如下所示:

int sum = std::accumulate(std::begin(array) + n1, 
                          std::begin(array) + n2 + 1, 0);
Run Code Online (Sandbox Code Playgroud)