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

注意:

答案中不可以包含重复的四元组。

示例:

给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。

满足要求的四元组集合为:
[
  [-1,  0, 0, 1],
  [-2, -1, 1, 2],
  [-2,  0, 0, 2]
]

思路,两层循环选出两个数字,对剩下的数字跑双指针。

三数之和

class Solution {public List<List<Integer>> fourSum(int[] nums,int target) {List<List<Integer>> listArr=new ArrayList<>();int len=nums.length;int left,right;Arrays.sort(nums);for(int i=0;i<len;++i){if(i>0 && nums[i] == nums[i-1]) continue;for(int j=i+1;j<len;++j){if(j>i+1 && nums[j] == nums[j-1]) continue;left=j+1;right=len-1;while(left<right) {int four=nums[left]+nums[right]+nums[i]+nums[j];if(four>target){right--;}else if(four<target){left++;}else{listArr.add(Arrays.asList(nums[i],nums[j],nums[left],nums[right]));while(left<right && nums[left]==nums[left+1])left++;while(left<right && nums[right]==nums[right-1])right--;left++;right--;}}}}return listArr;}
}

leetcode18. 四数之和相关推荐

  1. Leetcode18.四数之和

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

  2. LeetCode18.四数之和 JavaScript

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

  3. leetcode18. 四数之和(双指针)

    一:题目 二:上码 class Solution {public:vector<vector<int>> fourSum(vector<int>& nums ...

  4. Leetcode(18)-四数之和

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

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

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

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

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

  7. 算法笔记-两数之和、三数之和、四数之和(LeetCode)

    两数之和 1.两数之和 题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数 ...

  8. java小编程----四数之和

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

  9. 四数之和Python解法

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

最新文章

  1. 网络负载均衡-DNS负载均衡
  2. spoj450 Enormous Input Test
  3. 腾讯旗下网站的很多URL都包含“cgi-bin”,是什么意思?他们后台用什么语言?...
  4. js,需要更多源字符
  5. 使用JMeter和Yourkit进行REST / HTTP服务的性能分析
  6. 华为鸿蒙山海,华为包圆了整部《山海经》,鸿蒙是何意?还有青龙白虎朱雀玄武?...
  7. VMware网络连接模式—桥接、NAT以及仅主机模式的详细介绍和区别
  8. 超宽带 DWM1000模块 校准
  9. RSA之共模攻击与共享素数
  10. 英文中常见连读规律总结
  11. mysql 1677_MySQL之数据库主从复制配置报错Last_Errno: 1677
  12. Python爬虫实战+数据分析+数据可视化(豆瓣八佰电影影评)
  13. Leetcode 704.二分查找 27.移除元素 代码随想录day1
  14. 计算机三级上机题库百度云,全国计算机三级数据库等级考试全套(笔试背诵资料+笔试试题+详细答案+最新数据库技术上机试题题库).doc...
  15. 企业电子邮件系统全局地址簿管理及使用方法介绍
  16. OO之美:好代码和坏代码
  17. 谷歌实现移动VR“白日梦”
  18. php源码之strip_tags
  19. js 页面高度 页面宽度
  20. java pitfalls读书笔记

热门文章

  1. Windows Embedded CE 6.0开发初体验(三)设置Boot-loader
  2. 炸金花比牌规则java_陈陈来给你们炸金花的简易纸牌规则教学与心态指导
  3. python正则判断_Python 正则表达式
  4. arcgis投影数据计算度分秒
  5. css 块元素、内联元素、内联块元素
  6. python 定时器_python 线程之四:定时器(Timer),非阻塞
  7. 浅谈Vue.js的优势
  8. 【POJ - 3177】Redundant Paths(边双连通分量,去重边)
  9. 【CodeForces - 485D】Maximum Value (枚举,用数组离散化,数学,取模运算,因子,筛法)
  10. 【HDU - 2546】饭卡 (dp,0-1背包,贪心思想)