comefrom: <awangdev>Perfect Squares_1.java
code: public int numSquares(int n) {
          if (n <= 1) {
              return 1;
          }
          int[] dp = new int[n + 1]; 
          dp[0] = 0;
          for (int i = 1; i <= n; i++) {
              dp[i] = Integer.MAX_VALUE;
              for (int j = 1; j <= i; j++) {
                  if (i >= j * j) {
                      dp[i] = Math.min(dp[i], dp[i - j * j] + 1);
                  } else {
                      break; 
                  }
              }
          }
          return dp[n];
      }
masked: public int sample_funcname ( int var_0 ) {
    if ( var_0 <= 1 ) {
      return 1 ;
    }
    int [ ] var_1 = new int [ var_0 + 1 ] ;
    var_1 [ 0 ] = 0 ;
    for ( int var_2 = 1 ;
    var_2 <= var_0 ;
    var_2 ++ ) {
      var_1 [ var_2 ] = Integer . MAX_VALUE ;
      for ( int var_3 = 1 ;
      var_3 <= var_2 ;
      var_3 ++ ) {
        if ( var_2 >= var_3 * var_3 ) {
          var_1 [ var_2 ] = Math . min ( var_1 [ var_2 ] , var_1 [ var_2 - var_3 * var_3 ] + 1 ) ;
        }
        else {
          break ;
        }
      }
    }
    return var_1 [ var_0 ] ;
  }
  