Skip to content

Instantly share code, notes, and snippets.

@MohammedALREAI
Last active February 15, 2021 13:40
Show Gist options
  • Save MohammedALREAI/fdadd9f6708d27c1542bee1e8bd2adf5 to your computer and use it in GitHub Desktop.
Save MohammedALREAI/fdadd9f6708d27c1542bee1e8bd2adf5 to your computer and use it in GitHub Desktop.
leetcode two Number Sum typescript
// 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