Parell de valors XOR mínim

Parell de valors XOR mínim
Prova-ho a GfG Practice #practiceLinkDiv { mostrar: cap !important; }

Donada una matriu de nombres enters. Trobeu la parella en una matriu que tingui un valor XOR mínim. 

Exemples:  

Input : arr[] = {9 5 3} Output : 6 All pair with xor value (9 ^ 5) => 12 (5 ^ 3) => 6 (9 ^ 3) => 10. Minimum XOR value is 6 Input : arr[] = {1 2 3 4 5} Output : 1  
Recommended Practice Parell de valors XOR mínim Prova-ho!

A Solució senzilla és generar tots els parells de la matriu donada i calcular XOR els seus valors. Finalment retorna el valor XOR mínim. Aquesta solució pren O(n 2 ) temps. 

Implementació:

C++
   // C++ program to find minimum XOR value in an array.   #include          using     namespace     std  ;   // Returns minimum xor value of pair in arr[0..n-1]   int     minXOR  (  int     arr  []     int     n  )   {      int     min_xor     =     INT_MAX  ;     // Initialize result      // Generate all pair of given array      for     (  int     i     =     0  ;     i      <     n  ;     i  ++  )      for     (  int     j     =     i     +     1  ;     j      <     n  ;     j  ++  )      // update minimum xor value if required      min_xor     =     min  (  min_xor       arr  [  i  ]     ^     arr  [  j  ]);      return     min_xor  ;   }   // Driver program   int     main  ()   {      int     arr  []     =     {     9       5       3     };      int     n     =     sizeof  (  arr  )     /     sizeof  (  arr  [  0  ]);      cout      < <     minXOR  (  arr       n  )      < <     endl  ;      return     0  ;   }   
Java
   // Java program to find minimum XOR value in an array.   class   GFG     {      // Returns minimum xor value of pair in arr[0..n-1]      static     int     minXOR  (  int     arr  []       int     n  )      {      int     min_xor     =     Integer  .  MAX_VALUE  ;     // Initialize result      // Generate all pair of given array      for     (  int     i     =     0  ;     i      <     n  ;     i  ++  )      for     (  int     j     =     i     +     1  ;     j      <     n  ;     j  ++  )      // update minimum xor value if required      min_xor     =     Math  .  min  (  min_xor       arr  [  i  ]     ^     arr  [  j  ]  );      return     min_xor  ;      }      // Driver program      public     static     void     main  (  String     args  []  )      {      int     arr  []     =     {     9       5       3     };      int     n     =     arr  .  length  ;      System  .  out  .  println  (  minXOR  (  arr       n  ));      }   }   // This code is contributed by Sumit Ghosh   
Python3
   # Python program to find minimum   # XOR value in an array.   # Function to find minimum XOR pair   def   minXOR  (  arr     n  ):   # Sort given array   arr  .  sort  ();   min_xor   =   999999   val   =   0   # calculate min xor of    # consecutive pairs   for   i   in   range   (  0     n  -  1  ):   for   j   in   range   (  i  +  1     n  -  1  ):   # update minimum xor value   # if required   val   =   arr  [  i  ]   ^   arr  [  j  ]   min_xor   =   min  (  min_xor     val  )   return   min_xor   # Driver program   arr   =   [   9     5     3   ]   n   =   len  (  arr  )   print  (  minXOR  (  arr     n  ))   # This code is contributed by Sam007.   
C#
   // C# program to find minimum    // XOR value in an array.   using     System  ;   class     GFG     {          // Returns minimum xor value of      // pair in arr[0..n-1]      static     int     minXOR  (  int  []     arr       int     n  )      {      // Initialize result      int     min_xor     =     int  .  MaxValue  ;      // Generate all pair of given array      for     (  int     i     =     0  ;     i      <     n  ;     i  ++  )      for     (  int     j     =     i     +     1  ;     j      <     n  ;     j  ++  )      // update minimum xor value if required      min_xor     =     Math  .  Min  (  min_xor       arr  [  i  ]     ^     arr  [  j  ]);      return     min_xor  ;      }      // Driver program      public     static     void     Main  ()      {      int  []     arr     =     {     9       5       3     };      int     n     =     arr  .  Length  ;      Console  .  WriteLine  (  minXOR  (  arr       n  ));      }   }   // This code is contributed by Sam007   
PHP
      // PHP program to find minimum   // XOR value in an array.   // Returns minimum xor value   // of pair in arr[0..n-1]   function   minXOR  (  $arr     $n  )   {   // Initialize result   $min_xor   =   PHP_INT_MAX  ;   // Generate all pair of given array   for   (   $i   =   0  ;   $i    <   $n  ;   $i  ++  )   for   (   $j   =   $i   +   1  ;   $j    <   $n  ;   $j  ++  )   // update minimum xor    // value if required   $min_xor   =   min  (  $min_xor     $arr  [  $i  ]   ^   $arr  [  $j  ]);   return   $min_xor  ;   }   // Driver Code   $arr   =   array  (  9     5     3  );   $n   =   count  (  $arr  );   echo   minXOR  (  $arr     $n  );   // This code is contributed by anuj_67.   ?>   
JavaScript
    <  script  >   // Javascript program to find    // minimum XOR value in an array.   // Returns minimum xor value of pair in arr[0..n-1]   function     minXOR  (  arr       n  )   {      // Initialize result      let     min_xor     =     Number  .  MAX_VALUE  ;         // Generate all pair of given array      for     (  let     i     =     0  ;     i      <     n  ;     i  ++  )      for     (  let     j     =     i     +     1  ;     j      <     n  ;     j  ++  )      // update minimum xor value if required      min_xor     =     Math  .  min  (  min_xor       arr  [  i  ]     ^     arr  [  j  ]);      return     min_xor  ;   }   // Driver program      let     arr     =     [     9       5       3     ];      let     n     =     arr  .  length  ;      document  .  write  (  minXOR  (  arr       n  ));    <  /script>   

Sortida
6 

Complexitat espacial: O(1) 

An Solució eficient pot resoldre aquest problema en temps O(nlogn). 

Algorisme: 

  1. Ordena la matriu donada
  2. Travessa i comproveu XOR per a cada parell consecutiu

A continuació es mostra la implementació de l'enfocament anterior:

C++
   #include          using     namespace     std  ;   // Function to find minimum XOR pair   int     minXOR  (  int     arr  []     int     n  )   {      // Sort given array      sort  (  arr       arr     +     n  );      int     minXor     =     INT_MAX  ;      int     val     =     0  ;      // calculate min xor of consecutive pairs      for     (  int     i     =     0  ;     i      <     n     -     1  ;     i  ++  )     {      val     =     arr  [  i  ]     ^     arr  [  i     +     1  ];      minXor     =     min  (  minXor       val  );      }      return     minXor  ;   }   // Driver program   int     main  ()   {      int     arr  []     =     {     9       5       3     };      int     n     =     sizeof  (  arr  )     /     sizeof  (  arr  [  0  ]);      cout      < <     minXOR  (  arr       n  )      < <     endl  ;      return     0  ;   }   
Java
   import     java.util.Arrays  ;   class   GFG     {      // Function to find minimum XOR pair      static     int     minXOR  (  int     arr  []       int     n  )      {      // Sort given array      Arrays  .  parallelSort  (  arr  );      int     minXor     =     Integer  .  MAX_VALUE  ;      int     val     =     0  ;      // calculate min xor of consecutive pairs      for     (  int     i     =     0  ;     i      <     n     -     1  ;     i  ++  )     {      val     =     arr  [  i  ]     ^     arr  [  i     +     1  ]  ;      minXor     =     Math  .  min  (  minXor       val  );      }      return     minXor  ;      }      // Driver program      public     static     void     main  (  String     args  []  )      {      int     arr  []     =     {     9       5       3     };      int     n     =     arr  .  length  ;      System  .  out  .  println  (  minXOR  (  arr       n  ));      }   }   // This code is contributed by Sumit Ghosh   
Python3
   import   sys   # Function to find minimum XOR pair   def   minXOR  (  arr     n  ):   # Sort given array   arr  .  sort  ()   minXor   =   int  (  sys  .  float_info  .  max  )   val   =   0   # calculate min xor of consecutive pairs   for   i   in   range  (  0    n  -  1  ):   val   =   arr  [  i  ]   ^   arr  [  i   +   1  ];   minXor   =   min  (  minXor     val  );   return   minXor   # Driver program   arr   =   [  9     5     3  ]   n   =   len  (  arr  )   print  (  minXOR  (  arr     n  ))   # This code is contributed by Sam007.   
C#
   // C# program to find minimum    // XOR value in an array.   using     System  ;   class     GFG     {          // Function to find minimum XOR pair      static     int     minXOR  (  int  []     arr       int     n  )      {      // Sort given array      Array  .  Sort  (  arr  );      int     minXor     =     int  .  MaxValue  ;      int     val     =     0  ;      // calculate min xor of consecutive pairs      for     (  int     i     =     0  ;     i      <     n     -     1  ;     i  ++  )     {      val     =     arr  [  i  ]     ^     arr  [  i     +     1  ];      minXor     =     Math  .  Min  (  minXor       val  );      }      return     minXor  ;      }      // Driver program      public     static     void     Main  ()      {      int  []     arr     =     {     9       5       3     };      int     n     =     arr  .  Length  ;      Console  .  WriteLine  (  minXOR  (  arr       n  ));      }   }   // This code is contributed by Sam007   
PHP
      // Function to find minimum XOR pair   function   minXOR  (  $arr     $n  )   {   // Sort given array   sort  (  $arr  );   $minXor   =   PHP_INT_MAX  ;   $val   =   0  ;   // calculate min xor    // of consecutive pairs   for   (  $i   =   0  ;   $i    <   $n   -   1  ;   $i  ++  )   {   $val   =   $arr  [  $i  ]   ^   $arr  [  $i   +   1  ];   $minXor   =   min  (  $minXor     $val  );   }   return   $minXor  ;   }   // Driver Code   $arr   =   array  (  9     5     3  );   $n   =   count  (  $arr  );   echo   minXOR  (  $arr     $n  );   // This code is contributed by Smitha.   ?>   
JavaScript
    <  script  >   // Function to find minimum XOR pair   function     minXOR  (  arr       n  )   {      // Sort given array      arr  .  sort  ();      let     minXor     =     Number  .  MAX_VALUE  ;      let     val     =     0  ;      // calculate min xor of consecutive pairs      for     (  let     i     =     0  ;     i      <     n     -     1  ;     i  ++  )     {      val     =     arr  [  i  ]     ^     arr  [  i     +     1  ];      minXor     =     Math  .  min  (  minXor       val  );      }      return     minXor  ;   }   // Driver program      let     arr     =     [     9       5       3     ];      let     n     =     arr  .  length  ;      document  .  write  (  minXOR  (  arr       n  ));    <  /script>   

Sortida
6 

Complexitat temporal: O(N*logN) 
Complexitat espacial: O(1) 

Un més més Solució eficient pot resoldre el problema anterior en temps O(n) en el supòsit que els enters necessiten un nombre fix de bits per emmagatzemar. La idea és utilitzar Trie Data Structure.

Algorisme:

  1. Crea un assaig buit. Cada node de trie conté dos fills per a 0 i 1 bits.
  2. Inicialitzar min_xor = INT_MAX inserir arr[0] a trie
  3. Travessa tots els elements de la matriu un per un a partir del segon.
    1. Primer trobeu el valor mínim de diferència setbet a trie 
      • fer xor de l'element actual amb un valor mínim de setbit diferencial 
    2. actualitzeu el valor min_xor si cal
    3. inseriu l'element de matriu actual a trie 
  4. torna min_xor

A continuació es mostra la implementació de l'algorisme anterior.

C++
   // C++ program to find minimum XOR value in an array.   #include          using     namespace     std  ;   #define INT_SIZE 32   // A Trie Node   struct     TrieNode     {      int     value  ;     // used in leaf node      TrieNode  *     Child  [  2  ];   };   // Utility function to create a new Trie node   TrieNode  *     getNode  ()   {      TrieNode  *     newNode     =     new     TrieNode  ;      newNode  ->  value     =     0  ;      newNode  ->  Child  [  0  ]     =     newNode  ->  Child  [  1  ]     =     NULL  ;      return     newNode  ;   }   // utility function insert new key in trie   void     insert  (  TrieNode  *     root       int     key  )   {      TrieNode  *     temp     =     root  ;      // start from the most significant bit insert all      // bit of key one-by-one into trie      for     (  int     i     =     INT_SIZE     -     1  ;     i     >=     0  ;     i  --  )     {      // Find current bit in given prefix      bool     current_bit     =     (  key     &     (  1      < <     i  ));      // Add a new Node into trie      if     (  temp  ->  Child  [  current_bit  ]     ==     NULL  )      temp  ->  Child  [  current_bit  ]     =     getNode  ();      temp     =     temp  ->  Child  [  current_bit  ];      }      // store value at leafNode      temp  ->  value     =     key  ;   }   // Returns minimum XOR value of an integer inserted   // in Trie and given key.   int     minXORUtil  (  TrieNode  *     root       int     key  )   {      TrieNode  *     temp     =     root  ;      for     (  int     i     =     INT_SIZE     -     1  ;     i     >=     0  ;     i  --  )     {      // Find current bit in given prefix      bool     current_bit     =     (  key     &     (  1      < <     i  ));      // Traversal Trie look for prefix that has      // same bit      if     (  temp  ->  Child  [  current_bit  ]     !=     NULL  )      temp     =     temp  ->  Child  [  current_bit  ];      // if there is no same bit.then looking for      // opposite bit      else     if     (  temp  ->  Child  [  1     -     current_bit  ]     !=     NULL  )      temp     =     temp  ->  Child  [  1     -     current_bit  ];      }      // return xor value of minimum bit difference value      // so we get minimum xor value      return     key     ^     temp  ->  value  ;   }   // Returns minimum xor value of pair in arr[0..n-1]   int     minXOR  (  int     arr  []     int     n  )   {      int     min_xor     =     INT_MAX  ;     // Initialize result      // create a True and insert first element in it      TrieNode  *     root     =     getNode  ();      insert  (  root       arr  [  0  ]);      // Traverse all array element and find minimum xor      // for every element      for     (  int     i     =     1  ;     i      <     n  ;     i  ++  )     {      // Find minimum XOR value of current element with      // previous elements inserted in Trie      min_xor     =     min  (  min_xor       minXORUtil  (  root       arr  [  i  ]));      // insert current array value into Trie      insert  (  root       arr  [  i  ]);      }      return     min_xor  ;   }   // Driver code   int     main  ()   {      int     arr  []     =     {     9       5       3     };      int     n     =     sizeof  (  arr  )     /     sizeof  (  arr  [  0  ]);      cout      < <     minXOR  (  arr       n  )      < <     endl  ;      return     0  ;   }   
Java
   // Java program to find minimum XOR value in an array.   class   GFG     {      static     final     int     INT_SIZE     =     32  ;      // A Trie Node      static     class   TrieNode     {      int     value  ;     // used in leaf node      TrieNode  []     Child     =     new     TrieNode  [  2  ]  ;      public     TrieNode  ()      {      value     =     0  ;      Child  [  0  ]     =     null  ;      Child  [  1  ]     =     null  ;      }      }      static     TrieNode     root  ;      // utility function insert new key in trie      static     void     insert  (  int     key  )      {      TrieNode     temp     =     root  ;      // start from the most significant bit insert all      // bit of key one-by-one into trie      for     (  int     i     =     INT_SIZE     -     1  ;     i     >=     0  ;     i  --  )     {      // Find current bit in given prefix      int     current_bit     =     (  key     &     (  1      < <     i  ))     >=     1     ?     1     :     0  ;      // Add a new Node into trie      if     (  temp     !=     null     &&     temp  .  Child  [  current_bit  ]     ==     null  )      temp  .  Child  [  current_bit  ]     =     new     TrieNode  ();      temp     =     temp  .  Child  [  current_bit  ]  ;      }      // store value at leafNode      temp  .  value     =     key  ;      }      // Returns minimum XOR value of an integer inserted      // in Trie and given key.      static     int     minXORUtil  (  int     key  )      {      TrieNode     temp     =     root  ;      for     (  int     i     =     INT_SIZE     -     1  ;     i     >=     0  ;     i  --  )     {      // Find current bit in given prefix      int     current_bit     =     (  key     &     (  1      < <     i  ))     >=     1     ?     1     :     0  ;      // Traversal Trie look for prefix that has      // same bit      if     (  temp  .  Child  [  current_bit  ]     !=     null  )      temp     =     temp  .  Child  [  current_bit  ]  ;      // if there is no same bit.then looking for      // opposite bit      else     if     (  temp  .  Child  [  1     -     current_bit  ]     !=     null  )      temp     =     temp  .  Child  [  1     -     current_bit  ]  ;      }      // return xor value of minimum bit difference value      // so we get minimum xor value      return     key     ^     temp  .  value  ;      }      // Returns minimum xor value of pair in arr[0..n-1]      static     int     minXOR  (  int     arr  []       int     n  )      {      int     min_xor     =     Integer  .  MAX_VALUE  ;     // Initialize result      // create a True and insert first element in it      root     =     new     TrieNode  ();      insert  (  arr  [  0  ]  );      // Traverse all array element and find minimum xor      // for every element      for     (  int     i     =     1  ;     i      <     n  ;     i  ++  )     {      // Find minimum XOR value of current element with      // previous elements inserted in Trie      min_xor     =     Math  .  min  (  min_xor       minXORUtil  (  arr  [  i  ]  ));      // insert current array value into Trie      insert  (  arr  [  i  ]  );      }      return     min_xor  ;      }      // Driver code      public     static     void     main  (  String     args  []  )      {      int     arr  []     =     {     9       5       3     };      int     n     =     arr  .  length  ;      System  .  out  .  println  (  minXOR  (  arr       n  ));      }   }   // This code is contributed by Sumit Ghosh   
Python
   # class for the basic Trie Node    class   TrieNode  :   def   __init__  (  self  ):   # Child array with 0 and 1    self  .  child   =   [  None  ]  *  2   # meant for the lead Node    self  .  value   =   None   class   Trie  :   def   __init__  (  self  ):   # initialise the root Node    self  .  root   =   self  .  getNode  ()   def   getNode  (  self  ):   # get a new Trie Node    return   TrieNode  ()   # inserts a new element    def   insert  (  self    key  ):   temp   =   self  .  root   # 32 bit valued binary digit    for   i   in   range  (  31    -  1    -  1  ):   # finding the bit at ith position   curr   =   (  key  >>  i  )  &  (  1  )   # if the child is None create one   if  (  temp  .  child  [  curr  ]   is   None  ):   temp  .  child  [  curr  ]   =   self  .  getNode  ()   temp   =   temp  .  child  [  curr  ]   # add value to the leaf node    temp  .  value   =   key   # traverse the trie and xor with the most similar element   def   xorUtil  (  self    key  ):   temp   =   self  .  root   # 32 bit valued binary digit    for   i   in   range  (  31    -  1    -  1  ):   # finding the bit at ith position   curr   =   (  key  >>  i  )  &  1   # traverse for the same bit   if  (  temp  .  child  [  curr  ]   is   not   None  ):   temp   =   temp  .  child  [  curr  ]   # traverse if the same bit is not set in trie   elif   (  temp  .  child  [  1  -  curr  ]   is   not   None  ):   temp   =   temp  .  child  [  1  -  curr  ]   # return with the xor of the value    return   temp  .  value  ^  key   def   minXor  (  arr  ):   # set m to a large number   m   =   2  **  30   # initialize Trie   trie   =   Trie  ()   # insert the first element   trie  .  insert  (  arr  [  0  ])   # for each element in the array   for   i   in   range  (  1    len  (  arr  )):   # find the minimum xor value   m   =   min  (  m    trie  .  xorUtil  (  arr  [  i  ]))   # insert the new element   trie  .  insert  (  arr  [  i  ])   return   m   # Driver Code    if   __name__  ==  '__main__'  :   sample   =   [  9    5    3  ]   print  (  minXor  (  sample  ))   #code contributed by Shushant Kumar    
C#
   // Include namespace system   using     System  ;   // C# program to find minimum XOR value in an array.   public     class     GFG   {      public     const     int     INT_SIZE     =     32  ;      // A Trie Node      public     class     TrieNode      {      public     int     value  ;      // used in leaf node      public     TrieNode  []     Child     =     new     TrieNode  [  2  ];      public     TrieNode  ()      {      this  .  value     =     0  ;      this  .  Child  [  0  ]     =     null  ;      this  .  Child  [  1  ]     =     null  ;      }      }      public     static     TrieNode     root  ;      // utility function insert new key in trie      public     static     void     insert  (  int     key  )      {      var     temp     =     root  ;      // start from the most significant bit insert all      // bit of key one-by-one into trie      for     (  int     i     =     GFG  .  INT_SIZE     -     1  ;     i     >=     0  ;     i  --  )      {      // Find current bit in given prefix      var     current_bit     =     (  key     &     (  1      < <     i  ))     >=     1     ?     1     :     0  ;      // Add a new Node into trie      if     (  temp     !=     null     &&     temp  .  Child  [  current_bit  ]     ==     null  )      {      temp  .  Child  [  current_bit  ]     =     new     TrieNode  ();      }      temp     =     temp  .  Child  [  current_bit  ];      }      // store value at leafNode      temp  .  value     =     key  ;      }      // Returns minimum XOR value of an integer inserted      // in Trie and given key.      public     static     int     minXORUtil  (  int     key  )      {      var     temp     =     root  ;      for     (  int     i     =     GFG  .  INT_SIZE     -     1  ;     i     >=     0  ;     i  --  )      {      // Find current bit in given prefix      var     current_bit     =     (  key     &     (  1      < <     i  ))     >=     1     ?     1     :     0  ;      // Traversal Trie look for prefix that has      // same bit      if     (  temp  .  Child  [  current_bit  ]     !=     null  )      {      temp     =     temp  .  Child  [  current_bit  ];      }      else     if     (  temp  .  Child  [  1     -     current_bit  ]     !=     null  )      {      temp     =     temp  .  Child  [  1     -     current_bit  ];      }      }      // return xor value of minimum bit difference value      // so we get minimum xor value      return     key     ^     temp  .  value  ;      }      // Returns minimum xor value of pair in arr[0..n-1]      public     static     int     minXOR  (  int  []     arr       int     n  )      {      var     min_xor     =     int  .  MaxValue  ;      // Initialize result      // create a True and insert first element in it      root     =     new     TrieNode  ();      GFG  .  insert  (  arr  [  0  ]);      // Traverse all array element and find minimum xor      // for every element      for     (  int     i     =     1  ;     i      <     n  ;     i  ++  )      {      // Find minimum XOR value of current element with      // previous elements inserted in Trie      min_xor     =     Math  .  Min  (  min_xor    GFG  .  minXORUtil  (  arr  [  i  ]));      // insert current array value into Trie      GFG  .  insert  (  arr  [  i  ]);      }      return     min_xor  ;      }      // Driver code      public     static     void     Main  (  String  []     args  )      {      int  []     arr     =     {  9       5       3  };      var     n     =     arr  .  Length  ;      Console  .  WriteLine  (  GFG  .  minXOR  (  arr       n  ));      }   }   // This code is contributed by aadityaburujwale.   
JavaScript
   class     TrieNode     {   constructor  ()     {   this  .  child     =     new     Array  (  2  );   this  .  value     =     null  ;   }   }   class     Trie     {   constructor  ()     {   this  .  root     =     this  .  getNode  ();   }   getNode  ()     {   return     new     TrieNode  ();   }   insert  (  key  )     {   let     temp     =     this  .  root  ;   for     (  let     i     =     31  ;     i     >=     0  ;     i  --  )     {   let     curr     =     (  key     >>     i  )     &     1  ;   if     (  !  temp  .  child  [  curr  ])     temp  .  child  [  curr  ]     =     this  .  getNode  ();   temp     =     temp  .  child  [  curr  ];   }   temp  .  value     =     key  ;   }   xorUtil  (  key  )     {   let     temp     =     this  .  root  ;   for     (  let     i     =     31  ;     i     >=     0  ;     i  --  )     {   let     curr     =     (  key     >>     i  )     &     1  ;   if     (  temp  .  child  [  curr  ])     temp     =     temp  .  child  [  curr  ];   else     if     (  temp  .  child  [  1     -     curr  ])     temp     =     temp  .  child  [  1     -     curr  ];   }   return     temp  .  value     ^     key  ;   }   }   function     minXor  (  arr  )     {   let     m     =     2     **     30  ;   let     trie     =     new     Trie  ();   trie  .  insert  (  arr  [  0  ]);   for     (  let     i     =     1  ;     i      <     arr  .  length  ;     i  ++  )     {   m     =     Math  .  min  (  m       trie  .  xorUtil  (  arr  [  i  ]));   trie  .  insert  (  arr  [  i  ]);   }   return     m  ;   }   if     (  typeof     module     !==     'undefined'  )     {   module  .  exports     =     {   minXor  :     minXor     };   }   console  .  log  (  minXor  ([  9       5       3  ]));   // This code is contributed by akashish__   

Sortida
6 

Complexitat temporal O(n)

Complexitat espacial: O(n*INT_SIZE) 

 

Crea un qüestionari