leetcode 第18题 4Sum
来源:互联网 发布:网络延时英文 编辑:程序博客网 时间:2024/06/06 01:49
这个题和之前的题挺相似的,我首先想到的是直接用上以前的方法,先确定一个数(用循环实现),然后用3Sum的方法做,其实每种方法都大同小异啦~
这里涉及到一个 sort 函数的用法,详细学习链接为:sort用法
bool cmp(const int&a, const int&b){return a < b;}class Solution{public: vector<vector<int>> fourSum(vector<int>& nums, int target){int len = nums.size();int i;int j;int k;int l;vector<vector<int>> result;vector<int> temp;if(len < 4)return result;sort(nums.begin(), nums.end(), cmp);for(i=0; i<len-3; i++){for(j=i+1;j<len-2;j++){k = j+1;l = len-1;while(k<l){if(nums[i] + nums[j] + nums[k] + nums[l] == target){temp.push_back(nums[i]);temp.push_back(nums[j]);temp.push_back(nums[k]);temp.push_back(nums[l]);result.push_back(temp);temp.clear();while(k < l && nums[k] == nums[k+1])k++;while(k < l && nums[l] == nums[l-1])l--;}if(nums[i] + nums[j] + nums[k] + nums[l] < target){k++;}else{l--;}}while(j < len - 2 && nums[j] == nums[j+1])j++;}while(i < len - 3 && nums[i] == nums[i+1])i++;}return result;}};
阅读全文
0 0
- leetcode 第18题 4Sum
- LeetCode第18题之4Sum
- leetcode 第18题 4Sum
- 【LeetCode】LeetCode——第18题:4Sum
- leetcode第18题——**4Sum
- 第18题:4Sum
- leetcode第1题-two Sum
- leetcode 第112题 Path Sum
- 【leetcode】第15题:3sum(medium)
- 【leetcode】第16题:3Sum Closest
- Leetcode 第 1 题(Two Sum)
- 【LeetCode】第1题: Two Sum
- leetcode 第15题 <3Sum>(java)
- leetcode 第15题 3Sum
- leetcode 第16题 3Sum Closest
- LeetCode第一道题---Two Sum
- LeetCode 第1题:Two Sum
- leetcode第1题 ,Two Sum
- SQL Server 全文索引的硬伤
- android面试题-Service中弹出Dialog
- Linuxf服务器动态生成Android带标识的自定义APP打包
- 微信小程序tabBar 不显示底部菜单的原因和解决方法
- linux 新建用户、用户组 以及为新用户分配权限
- leetcode 第18题 4Sum
- splice/slice/split的区别
- 2.编译器
- 数据仓库系统的实现与使用(含OLAP重点讲解)
- Smart
- 由to_string函数学习sprintf()及sscanf()函数的用法
- Flask-bootstrap更改成国内cdn公共js资源库
- keepalived+nginx双机热备+负载均衡
- 错题总结之变量交换