4Sum
来源:互联网 发布:软件研发部工作流程 编辑:程序博客网 时间:2024/06/05 19:55
题目描述:
给定阵列小号的Ñ整数,是否有元件一个,a, b, c, 和 d在小号使得一个 a + b + c + d = target 找到数组中给出目标总和的所有唯一四元组。
注意:解决方案集不能包含重复的四元组。
结果分析:
输入:given array S = [1, 0, -1, 0, -2, 2], and target = 0.
输出:[ [-1, 0, 0, 1], [-2, -1, 1, 2], [-2, 0, 0, 2]]代码如下:public static List<List<Integer>> fourSum(int[] nums, int target) {List<List<Integer>> list=new ArrayList<>();if(nums.length<4)return list;Arrays.sort(nums);//进行了排序for(int i=0;i<nums.length-3;i++){if(i>0&&nums[i]==nums[i-1])continue;for(int j=i+1;j<nums.length-2;j++){if(j>i+1&&nums[j]==nums[j-1])continue;int start=j+1,end=nums.length-1;while(start<end){int sum=nums[i]+nums[j]+nums[start]+nums[end];if(sum==target){list.add(Arrays.asList(nums[i],nums[j],nums[start],nums[end]));while(start<end&&nums[start]==nums[start+1])start++;while(start<end&&nums[end]==nums[end-1])end--;start++;end--;}else if(sum>target)end--;elsestart++;}}}return list;}
0 0
- 【Leetcode】4Sum (Sum)
- leetcode 2 sum 3sum 4sum
- 3Sum 3Sum Closest 4Sum
- 3Sum & 3Sum Closest & 4Sum
- 2Sum 3Sum 4Sum
- 3sum、3Sum closet、 4sum
- 3Sum, 3Sum Closest, 4 Sum
- Leetcode 2SUM-3SUM-4SUM
- Leetcode-2sum,3sum,4sum
- leetcode 2 sum & 3 sum & 4 sum
- 4Sum
- 4Sum
- 4Sum
- 4Sum
- 4Sum
- 4Sum
- 4Sum
- 4Sum
- ViewPager的setOnPageChangeListener方法不推荐使用
- 分割线终结者---RecyclerView高度定制的“万能分割线”
- subprocess
- java8 lambda表达式之 Stream常用方法
- JavaFX应用程序
- 4Sum
- apache storm简介与原理
- 电脑误删文件 未清理过磁盘找回方法!
- ChemDraw怎么调整键长?调整键长教程
- elasticsearch 深分页问题以及解决方法
- Mybatis 动态表名,插入数据
- AJAX如何搭建运行环境配置
- 设置 SSH 通过密钥登录
- java编程思想学习笔记(4)--吸血鬼数字