comefrom: <awangdev>Maximum XOR of Two Numbers in an Array_1.java
code: public int findMaximumXOR(int[] nums) {
          if (nums == null || nums.length == 0) {
              return 0;
          }
          int res = 0, mask = 0;
          for (int i = 31; i >= 0; i--) {
              mask = mask | (1 << i);
              final Set<Integer> set = new HashSet<>();
              for (int num : nums) {
                  set.add(num & mask);
              }
              
              int temp = res | (1 << i);
              for (int prefix : set) {
                  if (set.contains(temp ^ prefix)) {
                      res = temp;
                      break;
                  }
              }
          }
          return res;
      }
masked: public int sample_funcname ( int [ ] var_0 ) {
    if ( var_0 == null || var_0 . length == 0 ) {
      return 0 ;
    }
    int var_1 = 0 , var_2 = 0 ;
    for ( int var_3 = 31 ;
    var_3 >= 0 ;
    var_3 -- ) {
      var_2 = var_2 | ( 1 << var_3 ) ;
      final Set < Integer > var_4 = new HashSet < > ( ) ;
      for ( int var_5 : var_0 ) {
        var_4 . add ( var_5 & var_2 ) ;
      }
      int var_6 = var_1 | ( 1 << var_3 ) ;
      for ( int var_7 : var_4 ) {
        if ( var_4 . contains ( var_6 ^ var_7 ) ) {
          var_1 = var_6 ;
          break ;
        }
      }
    }
    return var_1 ;
  }
  