4Sum
来源:互联网 发布:游戏中的算法 编辑:程序博客网 时间:2024/05/01 09:58
class Solution {public: vector<vector<int> > fourSum(vector<int> &num, int target) {vector< vector<int> > ret;int len = num.size();if(len < 4) return ret;vector<int> num2;num2.assign(num.begin(), num.end());sort( num2.begin(), num2.end() ); // sort O(n*log(n))vector<int> tmpRet(4);tmpRet[0]=num2[0]-1;for (int i=0;i<len-3;i++){if (num2[i]==tmpRet[0])continue;tmpRet[0]=num2[i];tmpRet[1]=num2[i]-1;for (int j=i+1;j<len-2;j++){int l=j+1;int r=len-1;if(num2[j]==tmpRet[1])continue;tmpRet[1]=num2[j];while (l<r){int sum2=num2[l]+num2[r];if(num2[j]+sum2+tmpRet[0]==target){tmpRet[2]=num2[l];tmpRet[3]=num2[r];ret.push_back(tmpRet);while(num2[++l]==num2[l-1]&&l<r);while(num2[--r]==num2[r+1]&&l<r);}else if(num2[j]+sum2+tmpRet[0]<target)l++;elser--;}}}return ret;}};
0 0
- 【Leetcode】4Sum (Sum)
- leetcode 2 sum 3sum 4sum
- 3Sum 3Sum Closest 4Sum
- 3Sum & 3Sum Closest & 4Sum
- 2Sum 3Sum 4Sum
- 3sum、3Sum closet、 4sum
- 3Sum, 3Sum Closest, 4 Sum
- Leetcode 2SUM-3SUM-4SUM
- Leetcode-2sum,3sum,4sum
- leetcode 2 sum & 3 sum & 4 sum
- 4Sum
- 4Sum
- 4Sum
- 4Sum
- 4Sum
- 4Sum
- 4Sum
- 4Sum
- 实例讲解UML建模分析与设计
- TCP、UDP和HTTP (转载有修改)
- QUICK COCOS2D-X 触摸事件
- 美国大学计算机工程专业TOP10
- 题目1021:统计字符
- 4Sum
- 第12周项目1--阅读程序(1、静态局部变量)
- poj 2239 Selecting Courses 二分图最大匹配
- UVa 147 - Dollars
- 基站使用api说明
- 第十二周项目 1 阅读程序(静态变量)
- globalmem.c:193:2: 错误:隐式声明函数‘kmalloc’ [-Werror=implicit-function-declaration]
- 黑马程序员 学习日志06 数组以及逻辑运算符
- 数据预处理之数据描述