0 喜欢

【每日一题】算法之三数之和

admin
admin
2020-11-05 14:53:09 阅读 81

LeetCode地址

三数之和

算法难度

中等

JS代码

/** * @param {number[]} nums * @return {number[][]} */ var threeSum = function(nums) { nums = nums.sort((a, b) => a - b) let len = nums.length let res = [] for (let m = 0; m < len - 2 && nums[m] <= 0; m++) { let l = m + 1 let r = len - 1 if (m > 0 && nums[m] === nums[m-1]) continue while(l < r) { if (nums[m] + nums[l] + nums[r] === 0) { res.push([nums[m], nums[l], nums[r]]) while(l < r && nums[l] === nums[l + 1]) { l++ } while(l < r && nums[r] === nums[r - 1]) { r-- } l++ r-- } else if (nums[m] + nums[l] + nums[r] > 0) { r-- } else { l++ } } } return res };

关于作者
admin
admin
admin@ifront.net
 获得点赞 37
 文章阅读量 8898