LeetCode:4Sum
来源:互联网 发布:阿里云流量充值 编辑:程序博客网 时间:2024/06/16 02:17
题目链接:https://leetcode.com/problems/4sum/description/
题目介绍:给定一个数组S,在数组S中找出所有唯一的4个数,它们之和等于目标值
解题思路:先对数组S进行排序。在后面2个数的时候,就可以通过比较和与目标值的大小,判断是需要选择更大的数或是选择更小的数。缩短了搜索时间。
代码如下:
vector<vector<int>> fourSum(vector<int>& nums, int target) { vector<vector<int>> result; if (nums.size() < 4) return result; sort(nums.begin(), nums.end()); for (int i = 0; i < nums.size() - 3; i++) for (int j = i + 1; j < nums.size() - 2; j++) { int left = j + 1, right = nums.size() - 1; while (left < right) { int sum = nums[i] + nums[j] + nums[left] + nums[right]; if (sum == target) { vector<int> tmp; tmp.push_back(nums[i]); tmp.push_back(nums[j]); tmp.push_back(nums[left]); tmp.push_back(nums[right]); result.push_back(tmp); left++; } else if (sum < target) left++; else right--; } } sort(result.begin(), result.end()); result.erase(unique(result.begin(), result.end()), result.end()); return result;}
阅读全文
0 0
- 【Leetcode】4Sum (Sum)
- leetcode 2 sum 3sum 4sum
- Leetcode 2SUM-3SUM-4SUM
- Leetcode-2sum,3sum,4sum
- leetcode 2 sum & 3 sum & 4 sum
- [LeetCode] 2Sum, 3Sum, 4Sum, 3SUm closet
- [LeetCode] K sum(2Sum、3Sum、4Sum)
- leetcode--sum集合:2sum,3sum,4sum
- leetcode --- 2 sum , 3 sum , 4 sum , k sum problem
- LeetCode: 4 Sum
- LeetCode: 4Sum
- LeetCode 4Sum
- Leetcode: 4SUM
- 【leetcode】 4 sum
- LeetCode 4Sum
- leetcode 44: 4Sum
- [Leetcode] 4 Sum [Unsolved]
- 【leetcode】4Sum
- 快速了解JQuery
- Python中的异常处理
- 在sublime3为SublimeREPL->Python->Python-RUN current file设置自定义快捷键
- JAVA-String类
- 笔记本安装win10系统后分区全部合并到C盘别的分区的数据如何找回
- LeetCode:4Sum
- springmvc容器和spring容器的关系
- iOS 消息转发机制Demo解析
- (八)面向对象的特征
- Python-NumPy大全
- 不漂亮怎么开发!Ubuntu 16.04 LTS桌面美化
- JQuery 合成事件(hover,toggle,one),事件多播(绑定多个函数)
- fastDFS文件系统安装
- ./和../以及/之间的区别?