4sum
来源:互联网 发布:尼特罗会长知乎 编辑:程序博客网 时间:2024/05/18 01:21
Given an array S of n integers, are there elementsa, b, c, and d in S such that a +b + c + d = target? Find all unique quadruplets in the array which gives the sum of target.
class Solution {public: vector<vector<int>> fourSum(vector<int>& nums, int target) { vector<vector<int>> res; sort(nums.begin(),nums.end()); int L = nums.size(); for(int i =0;i < L-3;i++) { if(i>0&&nums[i]==nums[i-1]) { continue; } for(int j = i+1;j < L-2;j++) { if(j>i+1&&nums[j-1]==nums[j]) { continue; } int m = j+1; int n = L-1; while(m<n) { int sum = nums[i]+nums[j]+nums[m]+nums[n]; if(sum > target) { while(nums[n-1]==nums[n]) { n--; } n--; } else if(sum < target) { while(nums[m+1]==nums[m]) { m++; } m++; } else { res.push_back({nums[i],nums[j],nums[m],nums[n]}); while(nums[m+1]==nums[m]) { m++; } m++; while(nums[n-1]==nums[n]) { n--; } n--; } } } } return res; }};
四个数求和,其实和三个数相同,只是多了一层循环,注意在开始的两个循环间加入判断是否和上一和数字相同。
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
- String.format用法
- iOS 文件下载及上传
- poj 2663 Tri Tiling--状压dp
- telnet命令使用
- 在调试第一个程序watershed.cpp时出现的问题
- 4sum
- 《您的设计模式》(CBF4LIFE)之“组合模式”【整理】
- 12.27
- AR摄像机不能聚焦问题的解决办法
- bzoj1306(搜索与剪枝经典)
- 你应该知道的 RPC 原理
- C++ sort()函数的用法秒懂
- VIPServer:阿里智能地址映射及环境管理系统详解
- 多台CentOS服务器时间同步(NTP时间同步)