18. 4Sum
来源:互联网 发布:网络手游下载 编辑:程序博客网 时间:2024/05/22 14:26
枚举第一个数和最后一个数,中间两个数二分查找,也可以用set集合去重
class Solution {public: vector<vector<int>> fourSum(vector<int>& nums, int target) { int n=nums.size(); int i,j,k,t; sort(nums.begin(),nums.end()); vector<vector<int>> res; for(i=0;i<=n-4;i++) { if(i>0&&nums[i]==nums[i-1]) continue; for(t=n-1;t>=i+3;t--) { if(t<n-1&&nums[t]==nums[t+1]) continue; for(j=i+1,k=t-1;j<k;) { if(j>i+1&&nums[j]==nums[j-1]) { j++; continue; } if(k<t-1&&nums[k]==nums[k+1]) { k--; continue; } int d=nums[i]+nums[t]+nums[j]+nums[k]; if(d==target) { vector<int> vt; vt.push_back(nums[i]); vt.push_back(nums[j]); vt.push_back(nums[k]); vt.push_back(nums[t]); res.push_back(vt); j++; k--; } else if(d>target) k--; else j++; } } } return res; }};
0 0
- 15. 3Sum 和 18. 4Sum
- LeetCode --- 18. 4Sum
- [Leetcode] 18. 4Sum
- 18. 4Sum
- 18. 4Sum
- 18. 4Sum
- 18. 4Sum
- 18. 4Sum
- 18. 4Sum
- leetcode 18. 4Sum
- 18. 4Sum
- 18. 4Sum
- 18. 4Sum
- 18. 4Sum LeetCode
- 18. 4Sum
- leetcode 18. 4Sum
- 18. 4Sum
- 18. 4Sum
- READING NOTE: Rethinking the Inception Architecture for Computer Vision
- python(五)常用模块学习
- Android studio中控制台输出乱码
- 面向对象知识点回顾
- Leetcode 136. Single Number
- 18. 4Sum
- Section 1.3 Greedy Algorithm
- AJAX实现异步提交
- idea 打包包含依赖的JAR文件
- mysql 修改表中 value的一部分值
- Application的Theme与Activity的Theme 摘要
- 电商平台分布式存储系统的搭建01
- PopUpWindow使用详解(一)——基本使用
- 一种CC2530 IEEE自增的量产方法