题目描述:![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7e1704148532a7fe9cf7edda6fd8843f.png)
代码解析:accumulate带有三个形参:头两个形参指定要累加的元素范围,第三个形参则是累加的初值。
代码:
class Solution {
public:
int calPoints(vector<string>& ops,vector<int>A={}) {
for(auto&op:ops){
auto N=static_cast<int>(A.size());
if (op=="C")A.pop_back();
else if(op=="D")A.push_back(2*A.back());
else if(op=="+")A.push_back(A[N-2]+A[N-1]);
else A.push_back(stoi(op));
}
return accumulate(A.begin(),A.end(),0);
}
};