const arr1 = [1,3,4,5];
const arr2 = [1,3,4,4];
const asum = 9
// neive approach
const isSumAvailable1 = (arr,sum) => {
for (i=0; i<arr.length;i++){
for (j=i+1; j<arr.length;j++){
if(arr[j]+arr[i] == sum) return true;
}
}
return false;
}
const isSumAbailable2 = (arr,sum) => {
const aSet = new Set();
for (i=0; i<arr.length;i++){
if(aSet.has(arr[i])) return true;
aSet.add(sum - arr[i])
}
return false
}
console.log(isSumAbailable2(arr1,asum));
console.log(isSumAbailable2(arr2,asum));