<awangdev>Perfect Squares_2.java
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 * j <= i; j++) {
                dp[i] = Math.min(dp[i], dp[i - j * j] + 1);
            }
        }
        return dp[n];
    }
public int sample_funcname ( int var_0 ) {
  if ( var_0 <= 1 ) {
    return 1 ;
  }
  int [ ] var_2 = new int [ var_0 + 1 ] ;
  var_2 [ 0 ] = 0 ;
  for ( int var_4 = 1 ;
  var_4 <= var_0 ;
  var_4 ++ ) {
    var_2 [ var_4 ] = Integer . MAX_VALUE ;
    for ( int var_7 = 1 ;
    var_7 <= var_4 && var_7 * var_7 <= var_4 ;
    var_7 ++ ) {
      var_2 [ var_4 ] = Math . min ( var_2 [ var_4 ] , var_2 [ var_4 - var_7 * var_7 ] + 1 ) ;
    }
  }
  return var_2 [ var_0 ] ;
}
