如何给网站建设提意见,负面信息搜索引擎 网站,wordpress加图片不显示,如何通过阿里云自己做网站这道题还是有点难度#xff0c;我能想到的就是三重循环#xff0c;但是题目限制不能重复#xff0c;所以这道题三重循环完还要去重#xff0c;太过于麻烦。看了题解以后#xff0c;大佬们还是厉害#xff0c;大概思路是这样子的#xff1a;先对数组进行排序#xff0c;… 这道题还是有点难度我能想到的就是三重循环但是题目限制不能重复所以这道题三重循环完还要去重太过于麻烦。看了题解以后大佬们还是厉害大概思路是这样子的先对数组进行排序然后在循环内固定一个数nums[i],在这个数后面的两端设置两个指针移动两个指针判断是否三数之和等于0在此过程中加入了去重的操作。 直接看代码好理解点
class Solution {public ListListInteger threeSum(int[] nums) {ListListInteger result new ArrayList();Arrays.sort(nums);if(numsnull || nums.length3)return result;for(int i 0;inums.length;i){if(nums[i] 0)break;if(i 0 nums[i] nums[i-1]) continue; // 去重int L i 1 , R nums.length-1;while(LR){if(nums[i] nums[L] nums[R] 0){result.add(Arrays.asList(nums[i],nums[L],nums[R]));while(LR nums[L] nums[L1]) L;//去重while(LR nums[R] nums[R-1]) R--;//去重L;R--;}else if(nums[i] nums[L] nums[R]0)L;else if(nums[i] nums[L] nums[R]0)R--;}}return result;}
}