已关闭。此问题需要details or clarity。目前不接受回答。
**要改进此问题吗?**通过editing this post添加详细信息并阐明问题。
11天前关闭
Improve this question
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
int i = 0;
vector<int> arr = {};
for(;i<nums.size();i++){
int j = i + 1;
for(;j<nums.size();j++){
if((nums[i] + nums[j]) == target){
arr.push_back(i);
arr.push_back(j);
}
}
}
return arr;
}
};
我想在if条件为真时立即返回repeat,并且循环不会提前执行repeat。我尝试使用break,但它只针对i和j的值退出循环,然后针对i的其余值继续执行。我怎么可能做到这一点呢?
编辑:很多用户说在if语句中使用return,我已经尝试过了,下面是错误:
Compile Error
Line 20: Char 5: error: non-void function does not return a value in all control paths [-Werror,-Wreturn-type]
}
^
型
生成1个错误。
1条答案
按热度按时间y1aodyip1#
在
push_back
调用之后,在if
条件中添加return arr;
语句。同时,保留最后的return arr;
语句,以便代码中的所有控制流都将返回向量。最后一个函数应该是这样的:
字符串