LeetCode(18) 4Sum
来源:互联网 发布:8051单片机有什么用 编辑:程序博客网 时间:2024/04/25 20:18
仅仅是记录一下
class Solution {public: vector<vector<int>> fourSum(vector<int>& nums, int target) { sort(nums.begin(), nums.end()); vector<vector<int>> result; int length = nums.size(); for(int i = 0; i < length - 3; ) { int firstTarget = target - nums[i]; for(int j = i + 1; j < length - 2; ) { int secondTarget = firstTarget - nums[j]; int m = j + 1; int n = length - 1; while(m < n) { if(nums[m] + nums[n] == secondTarget) { vector<int> tmp; tmp.push_back(nums[i]); tmp.push_back(nums[j]); tmp.push_back(nums[m]); tmp.push_back(nums[n]); result.push_back(tmp); m++; while(m < n && nums[m] == nums[m - 1]) m++; n--; while(m < n && nums[n] == nums[n + 1]) n--; } if(nums[m] + nums[n] < secondTarget) { m++; //while(m < n && nums[m] == nums[m - 1]) m++; } if(nums[m] + nums[n] > secondTarget) { n--; //while(m < n && nums[n] == nums[n + 1]) n--; } } j++; while(j < length - 2 && nums[j] == nums[j - 1]) j++; } i++; while(i < length - 3 && nums[i] == nums[i - 1]) i++; } 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
- Demo:地图展示,定位,地理编码,标注,离线地图等
- 笔记之:log Debug开关
- UTF-8 GBK UTF8 GB2312 之间的区别
- 扩展RBAC用户角色权限设计方案
- Android中SQLite应用详解
- LeetCode(18) 4Sum
- 苹果iOS操作系统整体架构层次讲解
- 枚举的值如何计算
- c++课程实训-银行系统
- (4.3.1.6)【项目一】子Fragment之ViewPager和FragmentPagerAdapter
- shell--getopts
- 面积问题
- php 环境配置(windows环境)
- Android Dialog背景全透明 无边框