描述
给一个正整数 n, 请问最少多少个完全平方数(比如1, 4, 9…)的和等于n。
样例
- 样例 1:
输入: 12
输出: 3
解释: 4 + 4 + 4
- 样例 2:
输入: 13
输出: 2
解释: 4 + 9
解析
numSquares = function (n) {
f = [];
for (i = 0; i <= n; i++) {
f[i] = i;
for (j = 1; j * j <= i; j++) {
if (f[i] > f[i - j * j ] + 1) {
f[i] = f[i - j * j] + 1;
}
}
}
return f[n];
}