Leetcode每日一题_15
public static List<List<Integer>> threeSum(int[] nums) {
//o(n*n) o(n)
List<List<Integer>> res=new ArrayList<>();
Arrays.sort(nums);
for (int i = 0; i < nums.length-2; i++) {
if(i>0&&nums[i]==nums[i-1]) continue;
int low=i+1,high=nums.length-1,sum=0-nums[i];
while (low<high) {
if (nums[low]+nums[high]==sum) {
res.add(Arrays.asList(nums[i],nums[low],nums[high]));
while(low<high&&nums[low]==nums[low+1]) low++;
while(low<high&&nums[high]==nums[high-1]) high--;
low++;
high--;
}
else if (nums[low]+nums[high]<sum) {
low++;
}
else {
high--;
}
}
}
return res;
}
public static List<List<Integer>> threeSum(int[] nums) {
//o(n*n) o(n)
List<List<Integer>> res=new ArrayList<>();
Arrays.sort(nums);
for (int i = 0; i < nums.length-2; i++) {
if(i>0&&nums[i]==nums[i-1]) continue;
int low=i+1,high=nums.length-1,sum=0-nums[i];
while (low<high) {
if (nums[low]+nums[high]==sum) {
res.add(Arrays.asList(nums[i],nums[low],nums[high]));
while(low<high&&nums[low]==nums[low+1]) low++;
while(low<high&&nums[high]==nums[high-1]) high--;
low++;
high--;
}
else if (nums[low]+nums[high]<sum) {
low++;
}
else {
high--;
}
}
}
return res;
}
全部评论
相关推荐
点赞 评论 收藏
分享
2025-11-18 18:24
北京理工大学珠海学院 嵌入式软件工程师
秋招投简历提醒助手:个人经验是,一般面二十场左右就会进入侃侃而谈阶段。我今年七月末的时候开始的第一次面试,都是很多不会,回复很慢。后面慢慢迭代,到九月中的时候基本上面啥说啥,很放松的状态 点赞 评论 收藏
分享
点赞 评论 收藏
分享
查看29道真题和解析