leetcode18. 四数之和(双指针)
一:题目
二:上码
class Solution {public:vector<vector<int>> fourSum(vector<int>& nums, int target) {vector<vector<int> >ans;vector<int> v;sort(nums.begin(),nums.end());for(int i = 0; i < nums.size(); i++) {//去重 防止相邻的两个数相等if(i > 0 && nums[i] == nums[i-1]) {continue;}for(int j = i+1; j < nums.size(); j++) {//去重if(j > i+1 && nums[j] == nums[j-1]) {continue;} int left = j+1;int right = nums.size()-1;while(left < right){//nums[i]+nums[j]+nums[left]+nums[right] > target 执行出错if(nums[i]+nums[j] > target - (nums[left]+nums[right])) right--;else if(nums[i]+nums[j] < target -(nums[left]+nums[right])){left++;}else{v.push_back(nums[i]);v.push_back(nums[j]);v.push_back(nums[left]);v.push_back(nums[right]);ans.push_back(v);//去重处理while(left < right && nums[left] == nums[left+1]) left++;while(left < right && nums[right] == nums[right-1]) right--;//完成一组后left++;right--;v.clear();}}}}return ans;}
};
这个题跟三个数之和的解法一样就是多了一层for循环而已
leetcode18. 四数之和(双指针)相关推荐
- Leetcode18.四数之和
Time: 20190920 Type: Medium 题目描述 给定一个包含n个整数的数组nums和一个目标值target,判断nums中是否存在四个元素a,b,c 和d ,使得a + b + c ...
- leetcode18. 四数之和
给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满 ...
- LeetCode18.四数之和 JavaScript
给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满 ...
- 4. Leetcode 18. 四数之和 (数组-双向双指针)
给你一个由 n 个整数组成的数组 nums ,和一个目标值 target .请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] ( ...
- LeetCode 17电话号码的字母组合(搜索)18四数之和
电话号码的字母组合 题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23 ...
- 四数之和Python解法
给你一个由 n 个整数组成的数组 nums ,和一个目标值 target .请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] ( ...
- 两数、三数、四数之和相关题目(Leetcode题解-Python语言)
作为 Leetcode 的第一题,两数之和自然是知名度最高的,从两数之和出发也有不少的衍生题目,下面就让我们好好地解决它们. 1. 两数之和 class Solution:def twoSum(sel ...
- 力扣18. 四数之和(JavaScript)
建立四个指针 四数之和的双指针解法是两层for循环nums[k] + nums[i]为确定值,依然是循环内有left和right下标作为双指针,找出nums[k] + nums[i] + nums[l ...
- 两数之和、三数之和、四数之和、K数之和
两数之和.三数之和.四数之和和K数之和是最近听室友提起的几道有意思的基础题,可以说是把双指针运用的淋漓尽致.(K数之和其实是一个动态规划的题,此处因为满足*数之和的的结构,放在一起对比提一下). 1. ...
最新文章
- Gin源码解析和例子——路由
- linux升级Python2.7.12
- 四十七、SQL 语法总结
- 高级语言反汇编程序的函数调用过程
- Axis2 WebService(配置、发布、调用)
- rust矿洞绳子怎么爬下_rust矿洞绳子怎么爬下_打工小伙爬冰救人,每动一下都能听到冰面碎裂声...
- Mobile-LPR——面向移动端的准商业级车牌识别库
- php 数组相乘,PHP如何计算数组中所有值的乘积?(代码示例)
- 医保费用监控指标体系建立(九)其他专项分析
- 服务器中硬盘JBOD模式和RAID0模式区别
- flash自适应屏幕 html,让Flash自适应浏览器屏幕大小的几种方法
- TCP粘包/拆包--利用LineBasedFrameDecoder解决TCP粘包问题
- 小皮phpstudy中的mysql无法启动,启动就马上停止
- 银行数据仓库体系实践(15)--数据应用之巴塞尔新资本协议
- Ubuntu中恢复rm命令误删文件(超级详细+亲测有效)
- jasypt.jar 1.9.2下载,加密解密
- php仿淘宝课程设计任务书
- 在QQ群和QQ空间中挂马
- 小白必看——UG NX模具分模原理知识,如何确定分型面
- DOTA-NHS ester,170908-81-3(三氟乙酸盐),1823122-52-6,DOTA-活性酯用于成像探针
热门文章
- ASP.NET Core 运行原理剖析2:Startup 和 Middleware(中间件)
- 微软Build 2016前瞻:让开发者编写能畅行所有设备的app
- C# 快捷键/hotkey简单例子
- 遥感、地理空间数据、全国基础数据下载网站大全汇总
- ASP.NET MVC下的四种验证编程方式
- Android Studio开发基础之Service
- Android之靠谱的把图片和视频插入手机系统相册
- Android之给控件添加水纹波效果
- Android Studio之导入别人的module后config.gradle配置文件没有生效
- linux c之通过popen执行shell命令