leetcode(18:四数之和 java实现)
第三天 我会坚持下去每天做一两道题,谢谢大家支持,我会努力
package LeetCode;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
public class FourSum {
public List> fourSum(int[] nums, int target) {
if(nums.length<4) return new ArrayList<>();
Arrays.sort(nums);
HashSet> set = new HashSet<>();
int i=0;
int j=nums.length-1;
while(j-i>2){
//作为比较对象
int juge=0;
int k=i+1;
int l=j-1;
while(k result = new ArrayList();
result.add(nums[i]);
result.add(nums[k]);
result.add(nums[j]);
result.add(nums[l]);
set.add(result);
while(k< l && nums[k] == nums[k + 1]){
k++;
}
while(k3){
j--;
}else {
i++;
j=nums.length-1;
}
}
return new ArrayList<>(set);
}
public static void main(String []args){
FourSum a=new FourSum();
int [] s={-3,-1,0,2,4,5};
System.out.println(a.fourSum(s, 2));
}
}
【leetcode(18:四数之和 java实现)】
推荐阅读
- 画解算法(1.|画解算法:1. 两数之和)
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- leetcode|leetcode 92. 反转链表 II
- 二叉树路径节点关键值和等于目标值(LeetCode--112&LeetCode--113)
- LeetCode算法题-11.|LeetCode算法题-11. 盛最多水的容器(Swift)
- LeetCode(03)Longest|LeetCode(03)Longest Substring Without Repeating Characters
- Leetcode|Leetcode No.198打家劫舍
- [leetcode数组系列]1两数之和
- 数据结构和算法|LeetCode 的正确使用方式
- leetcode|今天开始记录自己的力扣之路