关于向量的问题,新手求教
程序代码:#include<iostream>
#include<vector>
using namespace std;
vector<vector<int>> threeSum(vector<int> &num)
{
vector<vector<int>> result;
int len=num.size();
for(int i=0;i<len;++i)
{
int target=0-num[i];
int start=i+1,end=len-1;
while(start<end)
{
if(num[start]+num[end]==target){
result.push_back(num[i]);
result.push_back(num[start]);
result.push_back(num[end]);
start++;end--;
while(start<end&&num[start]==num[start-1])
{
start++;
}
while((start<end) && (num[end]==start[end+1]))
{
end--;
}
}
else if(num[start]+num[end]<target) start++;
else end--;
}
while(i<len) if(num[i]==num[i+1]) i++;
}
return result;
}
void main(){
int a[]={-5,-1,0,1,2,3,4};
vector<int> num(a);
vector<vector<int>> b=threeSum(num);
for(int i=0;i<b.size();i++)
cout<<b[i]<<endl;
}
E:\练习题\三数之和为零\threeSum.cpp(4) : error C2275: 'vector<int,class std::allocator<int> >' : illegal use of this type as an expression
求三个数之和为零的算法,不知道哪里错了用向量老是实现不了,书也反了,还是不知道问题在哪。
求大佬有空看看指点下我。
另外,可以的话,推荐几个学习网址,看书还是有很多不懂得。
[此贴子已经被作者于2017-12-27 20:24编辑过]

