leetcode18. 四数之和
给定一个包含 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. 四数之和相关推荐
- Leetcode18.四数之和
Time: 20190920 Type: Medium 题目描述 给定一个包含n个整数的数组nums和一个目标值target,判断nums中是否存在四个元素a,b,c 和d ,使得a + b + c ...
- LeetCode18.四数之和 JavaScript
给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满 ...
- leetcode18. 四数之和(双指针)
一:题目 二:上码 class Solution {public:vector<vector<int>> fourSum(vector<int>& nums ...
- Leetcode(18)-四数之和
给定一个包含 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 ...
- 算法笔记-两数之和、三数之和、四数之和(LeetCode)
两数之和 1.两数之和 题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数 ...
- java小编程----四数之和
给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满 ...
- 四数之和Python解法
给你一个由 n 个整数组成的数组 nums ,和一个目标值 target .请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] ( ...
最新文章
- 网络负载均衡-DNS负载均衡
- spoj450 Enormous Input Test
- 腾讯旗下网站的很多URL都包含“cgi-bin”,是什么意思?他们后台用什么语言?...
- js,需要更多源字符
- 使用JMeter和Yourkit进行REST / HTTP服务的性能分析
- 华为鸿蒙山海,华为包圆了整部《山海经》,鸿蒙是何意?还有青龙白虎朱雀玄武?...
- VMware网络连接模式—桥接、NAT以及仅主机模式的详细介绍和区别
- 超宽带 DWM1000模块 校准
- RSA之共模攻击与共享素数
- 英文中常见连读规律总结
- mysql 1677_MySQL之数据库主从复制配置报错Last_Errno: 1677
- Python爬虫实战+数据分析+数据可视化(豆瓣八佰电影影评)
- Leetcode 704.二分查找 27.移除元素 代码随想录day1
- 计算机三级上机题库百度云,全国计算机三级数据库等级考试全套(笔试背诵资料+笔试试题+详细答案+最新数据库技术上机试题题库).doc...
- 企业电子邮件系统全局地址簿管理及使用方法介绍
- OO之美:好代码和坏代码
- 谷歌实现移动VR“白日梦”
- php源码之strip_tags
- js 页面高度 页面宽度
- java pitfalls读书笔记
热门文章
- Windows Embedded CE 6.0开发初体验(三)设置Boot-loader
- 炸金花比牌规则java_陈陈来给你们炸金花的简易纸牌规则教学与心态指导
- python正则判断_Python 正则表达式
- arcgis投影数据计算度分秒
- css 块元素、内联元素、内联块元素
- python 定时器_python 线程之四:定时器(Timer),非阻塞
- 浅谈Vue.js的优势
- 【POJ - 3177】Redundant Paths(边双连通分量,去重边)
- 【CodeForces - 485D】Maximum Value (枚举,用数组离散化,数学,取模运算,因子,筛法)
- 【HDU - 2546】饭卡 (dp,0-1背包,贪心思想)