做音乐网站曲库在哪找,建立多多少钱,宁波有做网站的地方吗,wordpress 邮件提醒功能18. 四数之和 - 力扣#xff08;LeetCode#xff09; 思路#xff1a;
双指针思想#xff0c;转换成三数之和#xff0c;在转换成二数之和先排序#xff0c;固定一个数a#xff0c;转换成三数之和再固定一个数b#xff0c;转换成二数之和再注意不漏和去重
代码#…18. 四数之和 - 力扣LeetCode 思路
双指针思想转换成三数之和在转换成二数之和先排序固定一个数a转换成三数之和再固定一个数b转换成二数之和再注意不漏和去重
代码 public ListListInteger fourSum(int[] nums, int target) {//排序Arrays.sort(nums);//返回的数组ListListInteger list new ArrayList();//求数组长度int n nums.length;//固定ifor(int i 0; i n; ){//固定jfor(int j i1; j n;){int left j1;int right n-1;while(left right){int sum nums[left]nums[right];if(sum (long)target - nums[i] - nums[j]){right--;}else if(sum (long)target - nums[i] - nums[j]){left;}else{list.add(Arrays.asList(nums[i],nums[j],nums[left],nums[right]));//保证不漏继续寻找left;right--;//去重nums[left-1]和nums[left]while(left right nums[left] nums[left-1]){left;}//去重nums[right]和nums[right1]while(left right nums[right] nums[right1]){right--;}}} //对nums[j]去重j;while(j n nums[j] nums[j-1]){j;}}//对nums[i]去重i;while(i n nums[i] nums[i-1]){i;}}return list;}