题解 | #牛牛的三元组问题#
牛牛的三元组问题
https://www.nowcoder.com/practice/72c6d735fb1144a2ba162976a4510839
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 排序完直接三层for循环:
* 比较当前数字是否和上一个重复,重复则无意义
* @param nums int整型一维数组
* @return int整型二维数组
*/
public int[][] findTriplets (int[] nums) {
// write code here
List<int[]> arr = new ArrayList<>();
Arrays.sort(nums);
for(int i = 0; i < nums.length - 2; i++){
if(i > 0 && nums[i] == nums[i - 1])
continue;
for(int j = i + 1; j < nums.length - 1; j++){
if(j > i + 1 && nums[j] == nums[j - 1])
continue;
for(int k = j + 1; k < nums.length; k++){
if(k > j + 1 && nums[k] == nums[k - 1])
continue;
if(nums[i] + nums[j] + nums[k] == 0){
arr.add(new int[]{nums[i], nums[j], nums[k]});
}
}
}
}
// System.out.println(arr);
return arr.toArray(new int[0][0]);
// return new int[0][];
}
}

查看12道真题和解析