Link to the challenge:
https://leetcode.com/problems/3sum/
It passes all the test requirements, however it shows runtime exceeded. I believe because it is O^3 it is being rejected:
my code:
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var threeSum = function(nums, target) {
let holder=[]
for(var i=0;i<nums.length-2;i++){
// console.log(nums[i], "=i")
for(var j=i+1;j<nums.length-1;j++){
// console.log(nums[j], "=j")
for(var k=j+1;k<nums.length;k++){
// console.log(nums[k], "=k")
let a=nums[i]
let b=nums[j]
let c=nums[k]
if(a+b+c===0){
holder.push([a,b,c].sort())
}
}
}
}
const setArray = new Set(holder.map(x => JSON.stringify(x)))
const unique = [...setArray].map(x => JSON.parse(x))
return unique;
};
how do i fix it how do I make it faster than O^3, as it is currently not being accepted. I think the answer lies here somewhere in this part of the curriculum, but how exactly,?
https://www.freecodecamp.org/learn/coding-interview-prep/data-structures/