4suM

来源:互联网 发布:数据库三大范式的理解 编辑:程序博客网 时间:2024/05/23 19:59

就是O(N3)。。。的复杂度,

注意去除重复


class Solution {public:vector< vector<int> > fourSum(vector<int>& nums, int target) {int n,i,j,left,right,k;vector< vector<int> >res;sort(nums.begin(),nums.end());vector<int> num(4);n=nums.size();for(i=0;i<n;i++){num[0]=nums[i];for(j=i+1;j<n;j++ ){num[1]=nums[j];left=j+1;right=n-1;while(left<right){num[2]=nums[left];num[3]=nums[right];if(num[0]+num[1]+num[2]+num[3]>target)right--;else if(num[0]+num[1]+num[2]+num[3]<target)left++;else{res.push_back(num);for(k=0;k<4;k++)printf("%d ",num[k]);cout<<endl;while(left+1<n&&nums[left]==nums[++left]);while(right-1>=0&&nums[right]==nums[--right]);}}while(j+1<n&&nums[j]==nums[j+1])j++;}while(i+1<n&&nums[i]==nums[i+1])i++;}return res;}};



0 0
原创粉丝点击