LeetCode-18 4Sum
来源:互联网 发布:centos 安装mysql pdo 编辑:程序博客网 时间:2024/04/26 01:03
题目:给定一个数组a[n]和目标值target,找出所有相加等于target的四个值。值以升序排列
思路:类似3sum,只不过在外层多加了一个循环。每个循环都要判重
class Solution {public: vector<vector<int> > fourSum(vector<int> &num, int target) { vector<vector<int> > result; int length=num.size(); sort(num.begin(),num.end()); for(int i=0;i<length;i++){ if(i>0&&num[i]==num[i-1]){ continue; } int temp_target=target-num[i]; for(int j=i+1;j<length;j++){ if(j>i+1&&num[j]==num[j-1])continue; int k ,t; k=j+1; t=length-1; while(k<t){ if(k>j+1&&num[k]==num[k-1]){ k++; continue; } if(t<length-1&&num[t]==num[t+1]){ t--; continue; } int sum=num[j]+num[k]+num[t]; if(sum==temp_target){ vector<int> a; a.push_back(num[i]); a.push_back(num[j]); a.push_back(num[k]); a.push_back(num[t]); result.push_back(a); k++; } else if(sum>temp_target)t--; else{ k++; } } } } return result; }};
0 0
- LeetCode 18: 4Sum
- [leetcode 18] 4Sum
- [leetcode] 18 4Sum
- leetcode.18--------------4Sum
- leetcode 18 4Sum
- LeetCode---(18) 4 Sum
- LeetCode 18 - 4Sum
- LeetCode 18: 4Sum
- leetcode 18 -- 4Sum
- Leetcode[18]-4Sum
- leetcode-18 4Sum
- leetcode 18: 4Sum
- Leetcode#18 4Sum
- LeetCode(18) 4Sum
- LeetCode #18 4Sum
- Leetcode 18 4Sum
- LeetCode-18 4Sum
- Leetcode#18||4 Sum
- 16-集合框架-02-常用对象API(集合框架-体系&共性功能)
- ios内存管理 part1
- Codeforces Round #315 (Div. 2)569B Inventory(队列)
- 在C下执行DOS命令
- Matlab下地理热度图的绘制
- LeetCode-18 4Sum
- 16-集合框架-03-常用对象API(集合框架-方法演示_1)
- 朝鲜战争:轰炸大小和岛
- Leetcode#2||Add Two Numbers
- malloc的使用
- poj 2406 Power Strings
- DevExpress v15.1:ASP.NET WebForms功能增强(二)
- PostgreSQ 连接问题 FATAL: no pg_hba.conf entry for host
- Light OJ 1319 Monkey Tradition(中国剩余定理)