c++返回vector 的问题

classSolution{public:vector<int>twoSum(vector<int>&nums,inttarget){inti,j,index1,inde... class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
int i, j,index1,index2;
vector<int> vec;
for (i = 0; j < nums.size()-1;i++){
for(j = i+1; j< nums.size(); j++){
if(nums[i]+nums[j]==target){
index1 = i+1;
index2 = j+1;
vec.push_back(index1);
vec.push_back(index2);
break;
}
}
}
return vec;
}
};
基本功能为接受一个vector和一个target,找出一个vector中两个数加起来等于target的数,把他们的序号放入新vector返回,比如[3,2,4] 和target=6返回[2,3]。可是我返回的vector是空的,请问是怎么回事。
展开
 我来答
yanglei5658
推荐于2016-07-27 · TA获得超过4756个赞
知道大有可为答主
回答量:835
采纳率:100%
帮助的人:522万
展开全部

你的第一个for循环的条件写错了,把i写成了j,将

for (i = 0; j < nums.size()-1;i++){

改成

for (i = 0; i < nums.size()-1;i++){

改正后的结果为:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式