Skontrolujte, či v poli existujú dva prvky, ktorých súčet sa rovná súčtu zvyšku poľa

Máme pole celých čísel a musíme nájsť dva také prvky v poli, aby sa súčet týchto dvoch prvkov rovnal súčtu ostatných prvkov v poli. 

Príklady:  

Input : arr[] = {2 11 5 1 4 7} Output : Elements are 4 and 11 Note that 4 + 11 = 2 + 5 + 1 + 7 Input : arr[] = {2 4 2 1 11 15} Output : Elements do not exist  

A jednoduché riešenie je zvážiť každý pár jeden po druhom, nájsť jeho súčet a porovnať súčet so súčtom ostatných prvkov. Ak nájdeme pár, ktorého súčet sa rovná zvyšku prvkov, pár vypíšeme a vrátime true. Časová zložitosť tohto riešenia je O(n 3 )

An efektívne riešenie je nájsť súčet všetkých prvkov poľa. Nech je táto suma „súčet“. Teraz sa úloha zredukuje na nájdenie páru so súčtom rovným súčtu/2. 

Ďalšou optimalizáciou je, že pár môže existovať iba vtedy, ak je súčet celého poľa párny, pretože ho v podstate delíme na dve časti s rovnakým súčtom.

  1. Nájdite súčet celého poľa. Nech je táto suma „súčet“ 
  2. Ak je súčet nepárny, vráti hodnotu false. 
  3. Nájdite pár, ktorého súčet sa rovná 'súčet/2' pomocou diskutovanej metódy založenej na hašovaní tu ako metóda 2. Ak sa nájde pár, vytlačte ho a vráťte hodnotu true. 
  4. Ak neexistuje žiadny pár, vráťte hodnotu false.

Nižšie je uvedená implementácia vyššie uvedených krokov.

C++
   // C++ program to find whether two elements exist   // whose sum is equal to sum of rest of the elements.   #include          using     namespace     std  ;   // Function to check whether two elements exist   // whose sum is equal to sum of rest of the elements.   bool     checkPair  (  int     arr  []     int     n  )   {      // Find sum of whole array      int     sum     =     0  ;      for     (  int     i     =     0  ;     i      <     n  ;     i  ++  )      sum     +=     arr  [  i  ];      // If sum of array is not even then we can not      // divide it into two part      if     (  sum     %     2     !=     0  )      return     false  ;      sum     =     sum     /     2  ;      // For each element arr[i] see if there is      // another element with value sum - arr[i]      unordered_set   <  int  >     s  ;      for     (  int     i     =     0  ;     i      <     n  ;     i  ++  )     {      int     val     =     sum     -     arr  [  i  ];      // If element exist than return the pair      if     (  s  .  find  (  val  )     !=     s  .  end  ())     {      printf  (  'Pair elements are %d and %d  n  '       arr  [  i  ]      val  );      return     true  ;      }      s  .  insert  (  arr  [  i  ]);      }      return     false  ;   }   // Driver program.   int     main  ()   {      int     arr  []     =     {     2       11       5       1       4       7     };      int     n     =     sizeof  (  arr  )     /     sizeof  (  arr  [  0  ]);      if     (  checkPair  (  arr       n  )     ==     false  )      printf  (  'No pair found'  );      return     0  ;   }   
Java
   // Java program to find whether two elements exist   // whose sum is equal to sum of rest of the elements.   import     java.util.*  ;   class   GFG     {      // Function to check whether two elements exist      // whose sum is equal to sum of rest of the elements.      static     boolean     checkPair  (  int     arr  []       int     n  )      {      // Find sum of whole array      int     sum     =     0  ;      for     (  int     i     =     0  ;     i      <     n  ;     i  ++  )     {      sum     +=     arr  [  i  ]  ;      }      // If sum of array is not even then we can not      // divide it into two part      if     (  sum     %     2     !=     0  )     {      return     false  ;      }      sum     =     sum     /     2  ;      // For each element arr[i] see if there is      // another element with value sum - arr[i]      HashSet   <  Integer  >     s     =     new     HashSet   <  Integer  >  ();      for     (  int     i     =     0  ;     i      <     n  ;     i  ++  )     {      int     val     =     sum     -     arr  [  i  ]  ;      // If element exist than return the pair      if     (  s  .  contains  (  val  )      &&     val     ==     (  int  )  s  .  toArray  ()  [  s  .  size  ()     -     1  ]  )     {      System  .  out  .  printf  (      'Pair elements are %d and %dn'       arr  [  i  ]        val  );      return     true  ;      }      s  .  add  (  arr  [  i  ]  );      }      return     false  ;      }      // Driver program.      public     static     void     main  (  String  []     args  )      {      int     arr  []     =     {     2       11       5       1       4       7     };      int     n     =     arr  .  length  ;      if     (  checkPair  (  arr       n  )     ==     false  )     {      System  .  out  .  printf  (  'No pair found'  );      }      }   }   /* This code contributed by PrinciRaj1992 */   
Python3
   # Python3 program to find whether    # two elements exist whose sum is   # equal to sum of rest of the elements.    # Function to check whether two    # elements exist whose sum is equal    # to sum of rest of the elements.    def   checkPair  (  arr     n  ):   s   =   set  ()   sum   =   0   # Find sum of whole array    for   i   in   range  (  n  ):   sum   +=   arr  [  i  ]   # / If sum of array is not    # even then we can not    # divide it into two part    if   sum   %   2   !=   0  :   return   False   sum   =   sum   /   2   # For each element arr[i] see if    # there is another element with    # value sum - arr[i]    for   i   in   range  (  n  ):   val   =   sum   -   arr  [  i  ]   if   arr  [  i  ]   not   in   s  :   s  .  add  (  arr  [  i  ])   # If element exist than    # return the pair    if   val   in   s  :   print  (  'Pair elements are'     arr  [  i  ]   'and'     int  (  val  ))   # Driver Code    arr   =   [  2     11     5     1     4     7  ]   n   =   len  (  arr  )   if   checkPair  (  arr     n  )   ==   False  :   print  (  'No pair found'  )   # This code is contributed    # by Shrikant13   
C#
   // C# program to find whether two elements exist   // whose sum is equal to sum of rest of the elements.   using     System  ;      using     System.Collections.Generic  ;      class     GFG      {          // Function to check whether two elements exist      // whose sum is equal to sum of rest of the elements.      static     bool     checkPair  (  int     []  arr       int     n  )      {      // Find sum of whole array      int     sum     =     0  ;      for     (  int     i     =     0  ;     i      <     n  ;     i  ++  )      {      sum     +=     arr  [  i  ];      }      // If sum of array is not even then we can not      // divide it into two part      if     (  sum     %     2     !=     0  )         {      return     false  ;      }      sum     =     sum     /     2  ;      // For each element arr[i] see if there is      // another element with value sum - arr[i]      HashSet   <  int  >     s     =     new     HashSet   <  int  >  ();      for     (  int     i     =     0  ;     i      <     n  ;     i  ++  )      {      int     val     =     sum     -     arr  [  i  ];      // If element exist than return the pair      if     (  s  .  Contains  (  val  ))      {      Console  .  Write  (  'Pair elements are {0} and {1}n'        arr  [  i  ]     val  );      return     true  ;      }      s  .  Add  (  arr  [  i  ]);      }      return     false  ;      }      // Driver code      public     static     void     Main  (  String  []     args  )      {      int     []  arr     =     {  2       11       5       1       4       7  };      int     n     =     arr  .  Length  ;      if     (  checkPair  (  arr       n  )     ==     false  )         {      Console  .  Write  (  'No pair found'  );      }      }   }   // This code contributed by Rajput-Ji   
PHP
      // PHP program to find whether two elements exist   // whose sum is equal to sum of rest of the elements.   // Function to check whether two elements exist   // whose sum is equal to sum of rest of the elements.   function   checkPair  (  &  $arr     $n  )   {   // Find sum of whole array   $sum   =   0  ;   for   (  $i   =   0  ;   $i    <   $n  ;   $i  ++  )   $sum   +=   $arr  [  $i  ];   // If sum of array is not even then we    // can not divide it into two part   if   (  $sum   %   2   !=   0  )   return   false  ;   $sum   =   $sum   /   2  ;   // For each element arr[i] see if there is   // another element with value sum - arr[i]   $s   =   array  ();   for   (  $i   =   0  ;   $i    <   $n  ;   $i  ++  )   {   $val   =   $sum   -   $arr  [  $i  ];   // If element exist than return the pair   if   (  array_search  (  $val     $s  ))   {   echo   'Pair elements are '   .   $arr  [  $i  ]   .   ' and '   .   $val   .   '  n  '  ;   return   true  ;   }   array_push  (  $s     $arr  [  $i  ]);   }   return   false  ;   }   // Driver Code   $arr   =   array  (  2     11     5     1     4     7  );   $n   =   sizeof  (  $arr  );   if   (  checkPair  (  $arr     $n  )   ==   false  )   echo   'No pair found'  ;   // This code is contributed by ita_c   ?>   
JavaScript
    <  script  >   // Javascript program to find    // whether two elements exist   // whose sum is equal to sum of rest   // of the elements.           // Function to check whether       // two elements exist      // whose sum is equal to sum of       // rest of the elements.      function     checkPair  (  arr    n  )      {      // Find sum of whole array      let     sum     =     0  ;      for     (  let     i     =     0  ;     i      <     n  ;     i  ++  )      {      sum     +=     arr  [  i  ];      }          // If sum of array is not even then we can not      // divide it into two part      if     (  sum     %     2     !=     0  )         {      return     false  ;      }          sum     =     Math  .  floor  (  sum     /     2  );          // For each element arr[i] see if there is      // another element with value sum - arr[i]      let     s     =     new     Set  ();      for     (  let     i     =     0  ;     i      <     n  ;     i  ++  )      {      let     val     =     sum     -     arr  [  i  ];          // If element exist than return the pair          if  (  !  s  .  has  (  arr  [  i  ]))      {      s  .  add  (  arr  [  i  ])      }          if     (  s  .  has  (  val  )     )         {      document  .  write  (  'Pair elements are '  +      arr  [  i  ]  +  ' and '  +     val  +  '  
'
); return true ; } s . add ( arr [ i ]); } return false ; } // Driver program. let arr = [ 2 11 5 1 4 7 ]; let n = arr . length ; if ( checkPair ( arr n ) == false ) { document . write ( 'No pair found' ); } // This code is contributed by rag2127 < /script>

Výstup
Pair elements are 4 and 11 

Časová zložitosť: O(n) . unordered_set sa implementuje pomocou hashovania. Hľadanie a vkladanie hash časovej zložitosti sa tu predpokladá ako O(1).
Pomocný priestor: O(n)

Ďalší efektívny prístup (optimalizácia priestoru): Najprv zoradíme pole pre Binárne vyhľadávanie . Potom zopakujeme celé pole a skontrolujeme, či v poli existuje index, ktorý sa páruje s i, takže arr[index] + a[i] == Zvyšný súčet poľa . Binárne vyhľadávanie môžeme použiť na nájdenie indexu v poli úpravou programu binárneho vyhľadávania. Ak existuje pár, vytlačte ho. iná tlač neexistuje žiadny pár.

Nižšie je uvedená implementácia vyššie uvedeného prístupu:

C++
   // C++ program for the above approach   #include       using     namespace     std  ;   // Function to Find if a index exist in array such that   // arr[index] + a[i] == Rest sum of the array   int     binarysearch  (  int     arr  []     int     n       int     i       int     Totalsum  )   {         int     l     =     0       r     =     n     -     1          index     =     -1  ;  //initialize as -1      while     (  l      <=     r  )         {     int     mid     =     (  l     +     r  )     /     2  ;          int     Pairsum     =     arr  [  mid  ]     +     arr  [  i  ];  //pair sum      int     Restsum     =     Totalsum     -     Pairsum  ;  //Rest sum          if     (     Pairsum     ==     Restsum     )      {      if  (     index     !=     i     )  // checking a pair has same position or not      {     index     =     mid  ;     }  //Then update index -1 to mid          // Checking for adjacent element      else     if  (  index     ==     i     &&     mid  >  0     &&     arr  [  mid  -1  ]  ==  arr  [  i  ])      {     index     =     mid  -1  ;     }  //Then update index -1 to mid-1          else     if  (  index     ==     i     &&     mid   <  n  -1     &&     arr  [  mid  +  1  ]  ==  arr  [  i  ])         {     index     =     mid  +  1  ;     }     //Then update index-1 to mid+1       break  ;         }      else     if     (  Pairsum     >     Restsum  )         {     // If pair sum is greater than rest sum  our index will      // be in the Range [mid+1R]      l     =     mid     +     1  ;      }      else     {      // If pair sum is smaller than rest sum  our index will      // be in the Range [Lmid-1]      r     =     mid     -     1  ;      }      }      // return index=-1 if a pair not exist with arr[i]      // else return index such that arr[i]+arr[index] == sum of rest of arr      return     index  ;   }   // Function to check if a pair exist such their sum    // equal to rest of the array or not    bool     checkPair  (  int     arr  []  int     n  )   {     int     Totalsum  =  0  ;      sort  (  arr          arr     +     n  );  //sort arr for Binary search          for  (  int     i  =  0  ;  i   <  n  ;  i  ++  )      {     Totalsum  +=  arr  [  i  ];     }     //Finding total sum of the arr          for  (  int     i  =  0  ;  i   <  n  ;  i  ++  )      {     // If index is -1  Means arr[i] can't pair with any element       // else arr[i]+a[index] == sum of rest of the arr      int     index     =     binarysearch  (  arr       n       i    Totalsum  )     ;          if  (  index     !=     -1  )     {         cout   < <  'Pair elements are '   < <     arr  [  i  ]   < <  ' and '   < <     arr  [  index  ];      return     true  ;      }      }      return     false  ;  //Return false if a pair not exist   }   // Driver Code   int     main  ()   {      int     arr  []     =     {  2       11       5       1       4       7  };      int     n     =     sizeof  (  arr  )  /  sizeof  (  arr  [  0  ]);          //Function call      if     (  checkPair  (  arr       n  )     ==     false  )      {     cout   < <  'No pair found'  ;     }      return     0  ;   }   // This Approach is contributed by nikhilsainiofficial546    
Java
   // Java program for the above approach   import     java.util.*  ;   class   GFG     {      // Function to Find if a index exist in array such that      // arr[index] + a[i] == Rest sum of the array      static     int     binarysearch  (  int     arr  []       int     n       int     i        int     Totalsum  )      {      int     l     =     0       r     =     n     -     1       index     =     -  1  ;     // initialize as -1      while     (  l      <=     r  )     {      int     mid     =     (  l     +     r  )     /     2  ;      int     Pairsum     =     arr  [  mid  ]     +     arr  [  i  ]  ;     // pair sum      int     Restsum     =     Totalsum     -     Pairsum  ;     // Rest sum      if     (  Pairsum     ==     Restsum  )     {      if     (  index     !=     i  )     // checking a pair has same      // position or not      {      index     =     mid  ;      }     // Then update index -1 to mid      // Checking for adjacent element      else     if     (  index     ==     i     &&     mid     >     0      &&     arr  [  mid     -     1  ]     ==     arr  [  i  ]  )     {      index     =     mid     -     1  ;      }     // Then update index -1 to mid-1      else     if     (  index     ==     i     &&     mid      <     n     -     1      &&     arr  [  mid     +     1  ]     ==     arr  [  i  ]  )     {      index     =     mid     +     1  ;      }     // Then update index-1 to mid+1      break  ;      }      else     if     (  Pairsum     >     Restsum  )     {      // If pair sum is greater than rest sum       // our index will be in the Range [mid+1R]      l     =     mid     +     1  ;      }      else     {      // If pair sum is smaller than rest sum       // our index will be in the Range [Lmid-1]      r     =     mid     -     1  ;      }      }      // return index=-1 if a pair not exist with arr[i]      // else return index such that arr[i]+arr[index] ==      // sum of rest of arr      return     index  ;      }      // Function to check if a pair exist such their sum      // equal to rest of the array or not      static     boolean     checkPair  (  int     arr  []       int     n  )      {      int     Totalsum     =     0  ;      Arrays  .  sort  (  arr  );     // sort arr for Binary search      for     (  int     i     =     0  ;     i      <     n  ;     i  ++  )     {      Totalsum     +=     arr  [  i  ]  ;      }     // Finding total sum of the arr      for     (  int     i     =     0  ;     i      <     n  ;     i  ++  )     {      // If index is -1  Means arr[i] can't pair with      // any element else arr[i]+a[index] == sum of      // rest of the arr      int     index     =     binarysearch  (  arr       n       i       Totalsum  );      if     (  index     !=     -  1  )     {      System  .  out  .  println  (  'Pair elements are '      +     arr  [  i  ]     +     ' and '      +     arr  [  index  ]  );      return     true  ;      }      }      return     false  ;     // Return false if a pair not exist      }      // Driver Code      public     static     void     main  (  String  []     args  )      {      int     arr  []     =     {     2       11       5       1       4       7     };      int     n     =     arr  .  length  ;      // Function call      if     (  checkPair  (  arr       n  )     ==     false  )     {      System  .  out  .  println  (  'No pair found'  );      }      }   }   
Python3
   # Python program for the above approach   # Function to find if a index exist in array such that   # arr[index] + a[i] == Rest sum of the array   def   binarysearch  (  arr     n     i     Totalsum  ):   l   =   0   r   =   n   -   1   index   =   -  1   # Initialize as -1   while   l    <=   r  :   mid   =   (  l   +   r  )   //   2   Pairsum   =   arr  [  mid  ]   +   arr  [  i  ]   # Pair sum   Restsum   =   Totalsum   -   Pairsum   # Rest sum   if   Pairsum   ==   Restsum  :   if   index   !=   i  :   # Checking if a pair has the same position or not   index   =   mid   # Then update index -1 to mid   # Checking for adjacent element   elif   index   ==   i   and   mid   >   0   and   arr  [  mid   -   1  ]   ==   arr  [  i  ]:   index   =   mid   -   1   # Then update index -1 to mid-1   elif   index   ==   i   and   mid    <   n   -   1   and   arr  [  mid   +   1  ]   ==   arr  [  i  ]:   index   =   mid   +   1   # Then update index-1 to mid+1   break   elif   Pairsum   >   Restsum  :   # If pair sum is greater than rest sum our index will   # be in the Range [mid+1R]   l   =   mid   +   1   else  :   # If pair sum is smaller than rest sum our index will   # be in the Range [Lmid-1]   r   =   mid   -   1   # Return index=-1 if a pair not exist with arr[i]   # else return index such that arr[i]+arr[index] == sum of rest of arr   return   index   # Function to check if a pair exists such that their sum   # equals to rest of the array or not   def   checkPair  (  arr     n  ):   Totalsum   =   0   arr   =   sorted  (  arr  )   # Sort arr for Binary search   for   i   in   range  (  n  ):   Totalsum   +=   arr  [  i  ]   # Finding total sum of the arr   for   i   in   range  (  n  ):   # If index is -1 means arr[i] can't pair with any element   # else arr[i]+a[index] == sum of rest of the arr   index   =   binarysearch  (  arr     n     i     Totalsum  )   if   index   !=   -  1  :   print  (  'Pair elements are'     arr  [  i  ]   'and'     arr  [  index  ])   return   True   return   False   # Return false if a pair not exist   # Driver Code   arr   =   [  2     11     5     1     4     7  ]   n   =   len  (  arr  )   # Function call   if   checkPair  (  arr     n  )   ==   False  :   print  (  'No pair found'  )   
C#
   using     System  ;   class     GFG   {      // Function to Find if a index exist in array such that      // arr[index] + a[i] == Rest sum of the array      static     int     BinarySearch  (  int  []     arr       int     n       int     i       int     totalSum  )      {      int     l     =     0       r     =     n     -     1       index     =     -  1  ;     // initialize as -1      while     (  l      <=     r  )      {      int     mid     =     (  l     +     r  )     /     2  ;      int     pairSum     =     arr  [  mid  ]     +     arr  [  i  ];     // pair sum      int     restSum     =     totalSum     -     pairSum  ;     // rest sum      if     (  pairSum     ==     restSum  )      {      if     (  index     !=     i  )     // checking a pair has same      // position or not      {      index     =     mid  ;      }     // Then update index -1 to mid      // Checking for adjacent element      else     if     (  index     ==     i     &&     mid     >     0      &&     arr  [  mid     -     1  ]     ==     arr  [  i  ])      {      index     =     mid     -     1  ;      }     // Then update index -1 to mid-1      else     if     (  index     ==     i     &&     mid      <     n     -     1      &&     arr  [  mid     +     1  ]     ==     arr  [  i  ])      {      index     =     mid     +     1  ;      }     // Then update index-1 to mid+1      break  ;      }      else     if     (  pairSum     >     restSum  )      {      // If pair sum is greater than rest sum       // our index will be in the Range [mid+1R]      l     =     mid     +     1  ;      }      else      {      // If pair sum is smaller than rest sum       // our index will be in the Range [Lmid-1]      r     =     mid     -     1  ;      }      }      // return index=-1 if a pair not exist with arr[i]      // else return index such that arr[i]+arr[index] ==      // sum of rest of arr      return     index  ;      }      // Function to check if a pair exist such their sum      // equal to rest of the array or not      static     bool     CheckPair  (  int  []     arr       int     n  )      {      int     totalSum     =     0  ;      Array  .  Sort  (  arr  );     // sort arr for Binary search      for     (  int     i     =     0  ;     i      <     n  ;     i  ++  )      {      totalSum     +=     arr  [  i  ];      }     // Finding total sum of the arr      for     (  int     i     =     0  ;     i      <     n  ;     i  ++  )      {      // If index is -1  Means arr[i] can't pair with      // any element else arr[i]+a[index] == sum of      // rest of the arr      int     index     =     BinarySearch  (  arr       n       i       totalSum  );      if     (  index     !=     -  1  )      {      Console  .  WriteLine  (  'Pair elements are '     +     arr  [  i  ]     +     ' and '     +     arr  [  index  ]);      return     true  ;      }      }      return     false  ;     // Return false if a pair not exist      }      // Driver Code      static     void     Main  (  string  []     args  )      {      int  []     arr     =     {     2       11       5       1       4       7     };      int     n     =     arr  .  Length  ;      // Function call      if     (  !  CheckPair  (  arr       n  ))      {      Console  .  WriteLine  (  'No pair found'  );      }      }   }   
JavaScript
   // JavaScript program for the above approach   // function to find if a index exist in array such that   // arr[index] + a[i] == Rest sum of the array   function     binarysearch  (  arr       n       i       TotalSum  ){      let     l     =     0  ;      let     r     =     n  -  1  ;      let     index     =     -  1  ;          while  (  l      <=     r  ){      let     mid     =     parseInt  ((  l  +  r  )  /  2  );      let     Pairsum     =     arr  [  mid  ]     +     arr  [  i  ];      let     Restsum     =     TotalSum     -     Pairsum  ;          if     (     Pairsum     ==     Restsum     )      {      if  (     index     !=     i     )  // checking a pair has same position or not      {     index     =     mid  ;     }  //Then update index -1 to mid          // Checking for adjacent element      else     if  (  index     ==     i     &&     mid  >  0     &&     arr  [  mid  -  1  ]  ==  arr  [  i  ])      {     index     =     mid  -  1  ;     }  //Then update index -1 to mid-1          else     if  (  index     ==     i     &&     mid   <  n  -  1     &&     arr  [  mid  +  1  ]  ==  arr  [  i  ])      {     index     =     mid  +  1  ;     }     //Then update index-1 to mid+1       break  ;      }      else     if     (  Pairsum     >     Restsum  )      {     // If pair sum is greater than rest sum  our index will      // be in the Range [mid+1R]      l     =     mid     +     1  ;      }      else     {      // If pair sum is smaller than rest sum  our index will      // be in the Range [Lmid-1]      r     =     mid     -     1  ;      }      }      // return index=-1 if a pair not exist with arr[i]      // else return index such that arr[i]+arr[index] == sum of rest of arr      return     index  ;   }   // Function to check if a pair exist such their sum   // equal to rest of the array or not   function     checkPair  (  arr       n  ){      let     Totalsum     =     0  ;      arr  .  sort  (  function  (  a       b  ){  return     a     -     b  });          for  (  let     i  =  0  ;  i   <  n  ;  i  ++  )      {     Totalsum  +=  arr  [  i  ];     }     //Finding total sum of the arr          for  (  let     i  =  0  ;  i   <  n  ;  i  ++  )      {     // If index is -1  Means arr[i] can't pair with any element      // else arr[i]+a[index] == sum of rest of the arr      let     index     =     binarysearch  (  arr       n       i    Totalsum  )     ;          if  (  index     !=     -  1  )     {      console  .  log  (  'Pair elements are '     +     arr  [  i  ]     +     ' and '     +     arr  [  index  ]);      return     true  ;      }      }      return     false  ;  //Return false if a pair not exist   }   // driver code to test above function   let     arr     =     [  2       11       5       1       4       7  ];   let     n     =     arr  .  length  ;   // function call   if  (  checkPair  (  arr       n  )     ==     false  )         console  .  log  (  'No Pair Found'  )          // THIS CODE IS CONTRIBUTED BY YASH AGARWAL(YASHAGARWAL2852002)   

Výstup
Pair elements are 11 and 4 

Časová zložitosť: O(n * logn) 
Pomocný priestor: O(1)

 

Vytvoriť kvíz