dp,动态方程:dp[i]=Math.min(dp[i],dp[i-j*j]+1);
var numSquares = function(n) {
const dp=[...Array(n+1)].map(_=>0);
for(let i=1;i<=n;i++){
dp[i]=i;//最坏的情况就是由若干个1构成;
for(let j=0;i-j*j>=0;j++) dp[i]=Math.min(dp[i],dp[i-j*j]+1);
}
return dp[n];
};