怎么做视频网站首页,网站开发做网站,塔里木油田公司档案馆网站建设研究,网站建设 美词四数之和 .题目链接题目详情算法原理我的答案 . 题目链接
四数之和
题目详情 算法原理
题目要求的是abctarget 这道题我们可以参考一下三数之和 三数之和中,我们固定的是其中一个数,四数之和中,我们则需要固定两个数 即 abctarget的时候固定d,找到abctarget-d 在求abctarget… 四数之和 .题目链接题目详情算法原理我的答案 . 题目链接
四数之和
题目详情 算法原理
题目要求的是abctarget 这道题我们可以参考一下三数之和 三数之和中,我们固定的是其中一个数,四数之和中,我们则需要固定两个数 即 abctarget的时候固定d,找到abctarget-d 在求abctarget-d的时候,固定c,找到abtarget-d-c; 然后利用两数之和求解 注意: 当数据进行加减操作的时候,可能会发生溢出,因此,我们需要在计算abtarget-d-c;的时候,将数据转换为long
我的答案
class Solution {public ListListInteger fourSum(int[] nums, int target) {ListListIntegerlist new ArrayList();Arrays.sort(nums);int n nums.length;for(int a 0;an;){for(int b a1;bn;){long tar (long)target-nums[a]-nums[b];int left b1;int right n-1;while(leftright){long sum nums[left]nums[right];if(sumtar) left;else if(sumtar) right--;else{list.add(new ArrayListInteger(Arrays.asList(nums[a],nums[b],nums[left],nums[right])));left;right--;while(leftrightnums[left]nums[left-1]) left;while(leftrightnums[right]nums[right1]) right--;}}b;while(bnnums[b]nums[b-1]) b;}a;while(annums[a]nums[a-1]) a;}return list;}
}