您的位置:首页 > Web前端

Leetcode186: Perfect Squares

2015-12-07 22:08 330 查看
Given a positive integer n, find the least number of perfect square numbers (for example,
1,
4, 9, 16, ...
) which sum to n.

For example, given n =
12
, return
3
because
12
= 4 + 4 + 4
; given n =
13
, return
2
because
13
= 4 + 9
.

class Solution {
public:
int numSquares(int n) {
int *dp = new int[n+1];
for(int i = 0; i <= n; i++)
{
dp[i]=i;
for(int j = sqrt(i); i-j*j>=0; j--)
{
if(dp[i-j*j]+1 < dp[i])
dp[i] = dp[i-j*j]+1;
}
}
return dp
;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: