comefrom: <gouthampradhan>two_pointers_FourSum_1.java
code: public List<List<Integer>> fourSum(int[] nums, int target) {
      List<List<Integer>> result = new ArrayList<>();
      if (nums.length < 4) return result;
      Arrays.sort(nums);
      for (int i = 0; i < nums.length - 3; i++) {
        if (i == 0 || nums[i] != nums[i - 1]) {
          for (int j = i + 1; j < nums.length - 2; j++) {
            if (j == i + 1 || nums[j] != nums[j - 1]) {
              int k = j + 1, l = nums.length - 1;
              while (k < l) {
                if (k != j + 1 && nums[k] == nums[k + 1]) {
                  k++;
                  continue;
                }
                int sum = nums[i] + nums[j] + nums[k] + nums[l];
                if (sum == target) {
                  result.add(Arrays.asList(nums[i], nums[j], nums[k], nums[l]));
                  k++;
                  l--;
                } else if (sum < target) {
                  k++;
                } else {
                  l--;
                }
              }
            }
          }
        }
      }
      return result;
    }
masked: public List < List < Integer >> var_2 ( int [ ] var_3 , int var_4 ) {
    List < List < Integer >> var_6 = new ArrayList < > ( ) ;
    if ( var_3 . length < 4 ) return var_6 ;
    Arrays . sort ( var_3 ) ;
    for ( int var_12 = 0 ;
    var_12 < var_3 . length - 3 ;
    var_12 ++ ) {
      if ( var_12 == 0 || var_3 [ var_12 ] != var_3 [ var_12 - 1 ] ) {
        for ( int var_15 = var_12 + 1 ;
        var_15 < var_3 . length - 2 ;
        var_15 ++ ) {
          if ( var_15 == var_12 + 1 || var_3 [ var_15 ] != var_3 [ var_15 - 1 ] ) {
            int var_17 = var_15 + 1 , var_18 = var_3 . length - 1 ;
            while ( var_17 < var_18 ) {
              if ( var_17 != var_15 + 1 && var_3 [ var_17 ] == var_3 [ var_17 + 1 ] ) {
                var_17 ++ ;
                continue ;
              }
              int var_19 = var_3 [ var_12 ] + var_3 [ var_15 ] + var_3 [ var_17 ] + var_3 [ var_18 ] ;
              if ( var_19 == var_4 ) {
                var_6 . add ( Arrays . asList ( var_3 [ var_12 ] , var_3 [ var_15 ] , var_3 [ var_17 ] , var_3 [ var_18 ] ) ) ;
                var_17 ++ ;
                var_18 -- ;
              }
              else if ( var_19 < var_4 ) {
                var_17 ++ ;
              }
              else {
                var_18 -- ;
              }
            }
          }
        }
      }
    }
    return var_6 ;
  }
  