Advertisement
Kali_prasad

three sum

Mar 27th, 2022
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.78 KB | None | 0 0
  1. int Solution::threeSumClosest(vector<int> &A, int B) {
  2.     int i=0;
  3.     int a;
  4.     long long b=INT_MIN;
  5.     sort(A.begin(),A.end());
  6.     for(int i=0;i<A.size()-2;i++)
  7.     {
  8.         a=A[i];
  9.         int temp=B-a;
  10.        
  11.         int left=i+1,right=A.size()-1,ans;
  12.         while(left<right)
  13.         {
  14.            
  15.             int sum=A[left]+A[right];
  16.             if(sum<temp)
  17.             {
  18.                 ans=sum;
  19.                left++;
  20.             }
  21.             else if(sum>temp)
  22.             {
  23.                 right--;
  24.             }
  25.             else{
  26.                 ans=sum;
  27.                 break;
  28.             }
  29.         }
  30.         a+=ans;
  31.        
  32.  
  33.         if(abs(B-a)<abs(B-b))
  34.         b=a;
  35.        // cout<<i<<b<<endl;
  36.  
  37.     }
  38.    // cout<<b;
  39.     return b;
  40. }
  41.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement