【发布时间】:2011-10-11 15:55:39
【问题描述】:
我有一个问题,要确定这三种方法中最精确的方法来计算向量元素之和,它只能是正数,使用 std::accumulate。
1)
double sum(vector<float> &v)
{
return accumulate(v.begin(), v.end(), 0.0);
}
2)
double sum(vector<float> &v)
{
sort(v.begin(), v.end());
return accumulate(v.begin(), v.end(), 0.0);
}
3)
double sum(vector<float> &v)
{
sort(v.begin(), v.end(), greater<float>());
return accumulate(v.begin(), v.end(), 0.0);
}
这是一种求职面试问题,这就是为什么我得到了这三种特殊的方法来计算总和。我在网上做了很多搜索,但无法弄清楚其中的区别。请各位大侠帮我理解一下好吗?
【问题讨论】:
-
你说的“求职面试题”是什么意思?您是否在寻求帮助以通过工作面试?
-
按绝对值排序,从小端开始。你可以想想为什么会这样。
-
@Marcelo Cantos 不,我不是要求通过工作面试。这个任务曾经在求职面试中,所以我只是在准备求职面试,做不同的任务
标签: c++ sorting vector accumulate