给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] nums[j] nums[k] == 0 请,今天小编就来说说关于数字怎么算加减法比较容易?下面更多详细答案一起来看看吧!

数字怎么算加减法比较容易(每日一算力扣NO15.)

数字怎么算加减法比较容易

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] nums[j] nums[k] == 0 。请

你返回所有和为 0 且不重复的三元组。

注意:答案中不可以包含重复的三元组。

class Solution { public List<List<Integer>> threeSum(int[] nums) { Arrays.sort(nums); List<List<Integer>> result = new ArrayList<>(); for(int i=0; i < nums.length; i ) { if(i > 0 && nums[i] == nums[i - 1]) { continue; } int target = - nums[i]; int k = nums.length - 1; for(int j=i 1; j < nums.length; j ) { if(j > i 1 && nums[j] == nums[j - 1]) { continue; } while(k > j && nums[j] nums[k] > target) { k --; } if(k == j) { break; } if(nums[j] nums[k] == target) { result.add(Arrays.asList(nums[i], nums[j], nums[k])); } } } return result; } }

,