comefrom: <qiyuangong>414_Third_Maximum_Number_1.java
code: public int thirdMax(int[] nums) {
          PriorityQueue<Integer> pq = new PriorityQueue<>(3);
          Set<Integer> set = new HashSet<>();
          for (int i : nums) {
              if (set.contains(i)) continue;
              pq.offer(i);
              set.add(i);
              if (pq.size() > 3) set.remove(pq.poll());
          }
          while (pq.size() < 3 && pq.size() > 1) {
              pq.poll();
          }
          return pq.peek();
      }
masked: public int sample_funcname ( int [ ] var_0 ) {
    PriorityQueue < Integer > var_1 = new PriorityQueue < > ( 3 ) ;
    Set < Integer > var_2 = new HashSet < > ( ) ;
    for ( int var_3 : var_0 ) {
      if ( var_2 . contains ( var_3 ) ) continue ;
      var_1 . offer ( var_3 ) ;
      var_2 . add ( var_3 ) ;
      if ( var_1 . size ( ) > 3 ) var_2 . remove ( var_1 . poll ( ) ) ;
    }
    while ( var_1 . size ( ) < 3 && var_1 . size ( ) > 1 ) {
      var_1 . poll ( ) ;
    }
    return var_1 . peek ( ) ;
  }
  