题目描述
题解
动态规划
状态定义:
dp[i]
表示数字i
由几个数的平方相加.
初始化:
新建一个占n+1空间的一维数组, 令dp[i] = i
, 含义为一个数i
最差的情况也是由i个1相加得来的
状态转移:
1 | for (int j = 1; i - j * j >= 0; j++) { |
代码
1 | public int numSquares(int n) { |
状态定义:
dp[i]
表示数字i
由几个数的平方相加.
初始化:
新建一个占n+1空间的一维数组, 令dp[i] = i
, 含义为一个数i
最差的情况也是由i个1相加得来的
状态转移:
1 | for (int j = 1; i - j * j >= 0; j++) { |
代码
1 | public int numSquares(int n) { |
微信支付
支付宝