我一直在寻找有关矢量迭代的一些技巧。我正在尝试完成一个挑战,您必须实现一个函数 (SumOfTwo),该函数接受两个向量和一个总和作为参数,并且必须检查两个向量中是否有任何一对数字,如果相加可以给出总和这是作为参数传递的。
我的功能工作正常,只是它不包括 500 毫秒的时间限制。我觉得有更好的方法来遍历两个向量而不是两个 for 循环,但我觉得很卡住......
bool sumOfTwo(std::vector<int> a, std::vector<int> b, int v) {
if((a.empty()) || b.empty()){
return false;
}
for (std::vector<int>::iterator it1 = a.begin(); it1<=a.end(); ++it1) {
for (std::vector<int>::iterator it2 = b.begin(); it2<=b.end(); ++it2) {
if ((*it1 + *it2) == v){
return true;
}
}
}
return false;
}