【发布时间】:2022-06-17 01:50:01
【问题描述】:
在运行我的代码时一切都很好,直到 while 循环运行 我不知道为什么程序运行卡在那里 我什至用for循环尝试过,但问题仍然存在 我什至参考了一些 youtube 视频来寻求帮助,我的代码仍然和他们一样 它程序卡在while循环中
#include<iostream>
#include <bits/stdc++.h>
#include<vector>
#include<iterator>
using namespace std;
vector<int> twoSum(vector<int> &nums, int target) {
int siz=nums.size();
sort(nums.begin(),nums.end());
vector<int> :: iterator itr;
for ( itr = nums.begin(); itr < nums.end(); itr++)
{
cout<<" "<<*itr;
}
cout<<endl;
int srt=0,ed=siz-1;
int ind1,ind2;
//problem starts here
while(srt<ed)
{
if((nums[srt]+nums[ed])==target)
{
ind1=srt;
ind2=ed;
}
else if((nums[srt]+nums[ed])<target)
{
srt++;
}
else
{
ed--;
}
}
cout<<endl<<ind1<<" "<<ind2;
return {ind1,ind2};
}
int main()
{
system("cls");
vector<int> vtr={5,2,9,1,6,7,8};
vector<int> vtr2;
vector<int> :: iterator itr;
for ( itr = vtr.begin(); itr < vtr.end(); itr++)
{
cout<<" "<<*itr;
}
cout<<endl;
vtr=twoSum(vtr,10);
return 0;
}
【问题讨论】:
-
#include <bits/stdc++.h>只要您无法解释为什么应该准确使用它,就不允许使用它。这是不可饶恕的罪过之一!
标签: c++ stl c++-standard-library