Last active
February 15, 2021 13:40
-
-
Save MohammedALREAI/fdadd9f6708d27c1542bee1e8bd2adf5 to your computer and use it in GitHub Desktop.
leetcode two Number Sum typescript
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// TimeColextity nlog(n) space (1) | |
function twoNumberSum(array:Array<number>, targetSum:number):Array<number|undefined>{ | |
// we need to sort array | |
let sortArr= array.sort((a,b)=>a-b); | |
let left =0; | |
let right=sortArr.length-1; | |
while(left<right){ | |
let sumNumber=sortArr[left]+sortArr[right] | |
if(sumNumber=== targetSum){ | |
return [sortArr[left],sortArr[right]] | |
} | |
else if(sumNumber<targetSum){ | |
left++; | |
} | |
else if(sumNumber>targetSum){ | |
right++; | |
} | |
} | |
return [] | |
} | |
// TimeColextity (n) space (n) | |
function twoNumberSum2(array:Array<number>, targetSum:number) :Array<number|undefined>{ | |
// we need to sort array | |
let map=new Map<number,boolean>(); | |
for (let curNumber of array){ | |
let target=targetSum- curNumber; | |
if(map.has(target)){ | |
return [target,curNumber] | |
} | |
else{ | |
map.set(curNumber,true) | |
} | |
} | |
return[] | |
} | |
console.log(twoNumberSum2([3,5,-4,8,8,11,1,-1,6],10)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment