抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

会飞的鱼

飞鱼儿的宁静小鱼塘~

leetcode每日一题

15.三数之和 8.23

题目链接

15. 三数之和 - 力扣(LeetCode)

n^3 时间超限解法

一开始想了一个O(n^3)的作法,n是3e3,时间超限了。

暴力找到所有可能的三元组,然后加入二维数组,最后进行去重。

以下是超时代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/**
* @param {number[]} nums
* @return {number[][]}
*/
var threeSum = function(nums) {
function getUnique(arr){
let obj = {}
return arr.filter((item,index) => {
let newItem = item + JSON.stringify(item)
return obj.hasOwnProperty(newItem) ? false : obj[newItem] = true
})
}
let res = []
let se = new Set();
for(let i=0; i<nums.length; i++)
{
for(let j=i+1; j<nums.length; j++)
{
for(let k = j+1; k<nums.length; k++)
{
if(nums[i] + nums[j] + nums[k] == 0) {
let t = [nums[i], nums[j], nums[k]];
t.sort();
res[res.length] = t;
}
}
}
}

res = getUnique(res)

image-20220823155224783

AC

待更新…

评论