一:题目

二:上码

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. 四数之和(双指针)相关推荐

  1. Leetcode18.四数之和

    Time: 20190920 Type: Medium 题目描述 给定一个包含n个整数的数组nums和一个目标值target,判断nums中是否存在四个元素a,b,c 和d ,使得a + b + c ...

  2. leetcode18. 四数之和

    给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满 ...

  3. LeetCode18.四数之和 JavaScript

    给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满 ...

  4. 4. Leetcode 18. 四数之和 (数组-双向双指针)

    给你一个由 n 个整数组成的数组 nums ,和一个目标值 target .请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] ( ...

  5. LeetCode 17电话号码的字母组合(搜索)18四数之和

    电话号码的字母组合 题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23 ...

  6. 四数之和Python解法

    给你一个由 n 个整数组成的数组 nums ,和一个目标值 target .请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] ( ...

  7. 两数、三数、四数之和相关题目(Leetcode题解-Python语言)

    作为 Leetcode 的第一题,两数之和自然是知名度最高的,从两数之和出发也有不少的衍生题目,下面就让我们好好地解决它们. 1. 两数之和 class Solution:def twoSum(sel ...

  8. 力扣18. 四数之和(JavaScript)

    建立四个指针 四数之和的双指针解法是两层for循环nums[k] + nums[i]为确定值,依然是循环内有left和right下标作为双指针,找出nums[k] + nums[i] + nums[l ...

  9. 两数之和、三数之和、四数之和、K数之和

    两数之和.三数之和.四数之和和K数之和是最近听室友提起的几道有意思的基础题,可以说是把双指针运用的淋漓尽致.(K数之和其实是一个动态规划的题,此处因为满足*数之和的的结构,放在一起对比提一下). 1. ...

最新文章

  1. Gin源码解析和例子——路由
  2. linux升级Python2.7.12
  3. 四十七、SQL 语法总结
  4. 高级语言反汇编程序的函数调用过程
  5. Axis2 WebService(配置、发布、调用)
  6. rust矿洞绳子怎么爬下_rust矿洞绳子怎么爬下_打工小伙爬冰救人,每动一下都能听到冰面碎裂声...
  7. Mobile-LPR——面向移动端的准商业级车牌识别库
  8. php 数组相乘,PHP如何计算数组中所有值的乘积?(代码示例)
  9. 医保费用监控指标体系建立(九)其他专项分析
  10. 服务器中硬盘JBOD模式和RAID0模式区别
  11. flash自适应屏幕 html,让Flash自适应浏览器屏幕大小的几种方法
  12. TCP粘包/拆包--利用LineBasedFrameDecoder解决TCP粘包问题
  13. 小皮phpstudy中的mysql无法启动,启动就马上停止
  14. 银行数据仓库体系实践(15)--数据应用之巴塞尔新资本协议
  15. Ubuntu中恢复rm命令误删文件(超级详细+亲测有效)
  16. jasypt.jar 1.9.2下载,加密解密
  17. php仿淘宝课程设计任务书
  18. 在QQ群和QQ空间中挂马
  19. 小白必看——UG NX模具分模原理知识,如何确定分型面
  20. DOTA-NHS ester,170908-81-3(三氟乙酸盐),1823122-52-6,DOTA-活性酯用于成像探针

热门文章

  1. ASP.NET Core 运行原理剖析2:Startup 和 Middleware(中间件)
  2. 微软Build 2016前瞻:让开发者编写能畅行所有设备的app
  3. C# 快捷键/hotkey简单例子
  4. 遥感、地理空间数据、全国基础数据下载网站大全汇总
  5. ASP.NET MVC下的四种验证编程方式
  6. Android Studio开发基础之Service
  7. Android之靠谱的把图片和视频插入手机系统相册
  8. Android之给控件添加水纹波效果
  9. Android Studio之导入别人的module后config.gradle配置文件没有生效
  10. linux c之通过popen执行shell命令