Advertisement
najimCseJu

pairSumInDifferentApproaches

Jun 5th, 2018
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let data = [1, 2, 3, 5, 7],
  2.     sum = 18;
  3.  
  4. function nSquare() {
  5.   let result = false;
  6.     for(let i=0;i<data.length;i++){
  7.       for(let j=i+1;j<data.length;j++){
  8.         if(data[i] + data[j] === sum){
  9.           result = true;
  10.           break;
  11.         }
  12.       }
  13.       if(result===true)break;
  14.     }
  15.     if (result === true) return "YES";
  16.     return "NO";
  17. }
  18.  
  19. function nLogN() {
  20.   let result = false;
  21.   let newArray = [...data];
  22.   newArray.sort();
  23.   let l =0, r = newArray.length-1;
  24.   while(l<r){
  25.     let cSum = newArray[l] + newArray[r] ;
  26.     if(cSum === sum){
  27.       result = true;
  28.       break;
  29.     }
  30.     if(cSum<sum)l++;
  31.     else r--;
  32.   }
  33.   if (result === true) return "YES";
  34.   return "NO";
  35. }
  36.  
  37. function orderN(){
  38.   let result = false;
  39.   let map = [];
  40.   for(let i=0;i<data.length;i++){
  41.     if(map[data[i]]){
  42.       result = true;
  43.       break;
  44.     }
  45.     map[sum-data[i]]=true;
  46.   }
  47.   if (result === true) return "YES";
  48.   return "NO";
  49. }
  50.  
  51.  
  52. console.log(nSquare());
  53. console.log(nLogN());
  54. console.log(orderN());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement