做出来了,就是时间问题不好解决啊!!!!!
准确性是没问题!!
vector<vector<int>> threeSum(vector<int>& nums) {
vector<vector<int>> array;
int a=0,b=0,c=0;
if(nums.size()<3)
return array;
for(int i=0;i<nums.size();i++)
{
a=nums[i];
for(int j=i+1;j<nums.size();j++)
{
b=nums[j];
for(int k=j+1;k<nums.size();k++)
{
c=nums[k];
// cout<<"a="<<a<<" b="<<b<<" c="<<c<<endl;
if((a+b+c)==0)
{
vector<int>tempvec;
tempvec.push_back(a);
tempvec.push_back(b);
tempvec.push_back(c);
sort(tempvec.begin(),tempvec.end());
// cout<<"a="<<a<<" b="<<b<<" c="<<c<<endl;
if(array.size()>=1)
{
sort(tempvec.begin(),tempvec.end());
// cout<<"sort="<<tempvec[0]<<" "<<tempvec[1]<<" "<<tempvec[2]<<endl;
bool isSame=false;
for(int m=0;m<array.size();m++)
{
if(array[m][0]==tempvec[0]&&
array[m][1]==tempvec[1]&&
array[m][2]==tempvec[2])
{
isSame=true;
// cout<<"same"<<endl;
}
}
if(!isSame)
{
array.push_back(tempvec);
}
}
else
{
array.push_back(tempvec);
}
}
}
}
}
return array;
}