comefrom: <awangdev>46. Permutations_4.java
code: public List<List<Integer>> permute(int[] nums) {
          List<List<Integer>> rst = new ArrayList<>();
          if (nums == null || nums.length == 0) return rst;
          rst.add(new ArrayList<>());
         
          for (int i = 0; i < nums.length; i++) { 
              int rstSize = rst.size();
              for (int j = 0; j < rstSize; j++) { 
                  List<Integer> baselist = rst.get(j);
                  for (int index = 0; index < baselist.size(); index++) {
                      baselist.add(index, nums[i]);
                      rst.add(new ArrayList<>(baselist)); 
                      baselist.remove(index);
                  }
                  baselist.add(nums[i]); 
              }
          }
          return rst;
      }
masked: public List < List < Integer >> var_0 ( int [ ] var_1 ) {
    List < List < Integer >> var_2 = new ArrayList < > ( ) ;
    if ( var_1 == null || var_1 . length == 0 ) return var_2 ;
    var_2 . add ( new ArrayList < > ( ) ) ;
    for ( int var_3 = 0 ;
    var_3 < var_1 . length ;
    var_3 ++ ) {
      int var_4 = var_2 . size ( ) ;
      for ( int var_5 = 0 ;
      var_5 < var_4 ;
      var_5 ++ ) {
        List < Integer > var_6 = var_2 . get ( var_5 ) ;
        for ( int var_7 = 0 ;
        var_7 < var_6 . size ( ) ;
        var_7 ++ ) {
          var_6 . add ( var_7 , var_1 [ var_3 ] ) ;
          var_2 . add ( new ArrayList < > ( var_6 ) ) ;
          var_6 . remove ( var_7 ) ;
        }
        var_6 . add ( var_1 [ var_3 ] ) ;
      }
    }
    return var_2 ;
  }
  