comefrom: <awangdev>Backpack V_2.java
code: public int backPackV(int[] nums, int target) {
          if (nums == null || nums.length == 0) {
              return 0;
          }
          int n = nums.length;
          int[][] dp = new int[2][target + 1];
          dp[0][0] = 1; 
          for (int j = 1; j <= target; j++) {
              dp[0][j] = 0;
          }
          int curr = 0, prev = 1;
          for (int i = 1; i <= n; i++) {
              prev = curr;
              curr = 1 - curr;
              for  (int j = 0; j <= target; j++) {
                  dp[curr][j] = dp[prev][j];
                  if (j - nums[i - 1] >= 0) {
                      dp[curr][j] += dp[prev][j - nums[i - 1]];    
                  }
              }
          }
          return dp[curr][target];
      }
masked: public int sample_funcname ( int [ ] var_0 , int var_1 ) {
    if ( var_0 == null || var_0 . length == 0 ) {
      return 0 ;
    }
    int var_2 = var_0 . length ;
    int [ ] [ ] var_3 = new int [ 2 ] [ var_1 + 1 ] ;
    var_3 [ 0 ] [ 0 ] = 1 ;
    for ( int var_4 = 1 ;
    var_4 <= var_1 ;
    var_4 ++ ) {
      var_3 [ 0 ] [ var_4 ] = 0 ;
    }
    int var_5 = 0 , var_6 = 1 ;
    for ( int var_7 = 1 ;
    var_7 <= var_2 ;
    var_7 ++ ) {
      var_6 = var_5 ;
      var_5 = 1 - var_5 ;
      for ( int var_4 = 0 ;
      var_4 <= var_1 ;
      var_4 ++ ) {
        var_3 [ var_5 ] [ var_4 ] = var_3 [ var_6 ] [ var_4 ] ;
        if ( var_4 - var_0 [ var_7 - 1 ] >= 0 ) {
          var_3 [ var_5 ] [ var_4 ] += var_3 [ var_6 ] [ var_4 - var_0 [ var_7 - 1 ] ] ;
        }
      }
    }
    return var_3 [ var_5 ] [ var_1 ] ;
  }
  