TheBulgarianWolf

Closest Sum To A Target

Nov 3rd, 2020
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let first = [1,8,5];
  2. let second = [4,9,2];
  3. let target = 7;
  4.  
  5.  
  6. function solve(first,second,target){
  7.     first.sort((a,b) => a-b);
  8.     second.sort((a,b) => a-b);
  9.    
  10.     let x = first.length-1;
  11.     let y = 0;
  12.     let minDiff = Number.MAX_SAFE_INTEGER;
  13.     let result = [];
  14.  
  15.     while(x>0 && y < second.length){
  16.         let sum = first[x] + second[y];
  17.  
  18.         let diff = Math.abs(sum-target);
  19.  
  20.         if(diff < minDiff){
  21.             result = [first[x],second[y]];
  22.             minDiff = diff;
  23.         }
  24.  
  25.         if(sum >= target){
  26.             x--;
  27.         }
  28.         else{
  29.             y++;
  30.         }
  31.     }
  32.     console.log(result);
  33.  
  34. }
  35.  
  36. solve(first,second,target);
Add Comment
Please, Sign In to add comment