Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.

Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).

var numSquares = function(n) { var dp=[0]; for (var i=1;i<=n;i++) for (var j=Math.sqrt(i)|0; j>=1 ;j--) dp[i]=Math.min(dp[i] || n, dp[i-j*j]+1) return dp[n] };

could you please give a little bit explanation?

Yes, would love an explanation!

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.