Perfect Squares
来源:互联网 发布:如何隐藏mac下方菜单 编辑:程序博客网 时间:2024/06/05 04:11
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
.
public int numSquares(int n) { int[] dp = new int[n + 1]; Arrays.fill(dp, Integer.MAX_VALUE); dp[0] = 0; for(int i = 0; i <= n; i++){ for(int j = 1; i + j * j <= n; j++){ /** * dp[i] + 1 中的1代表j*j这个组合 * e.g:dp[0+2*2] = min(dp[4],dp[0]+1) * 相当于0的组合方式+2*2的组合方式,得到了4的组合方式 * * e.g:4 * i=0,j=2 * dp[4] = min(dp[4],dp[0]+1) = min(max,0+1) = 1 * i=3,j=1 * dp[4] = min(dp[4],dp[3]+1) = min(1,3+1) = 1 * dp[3] + 1 中的1相当于1*1 */ dp[i + j * j] = Math.min(dp[i + j * j], dp[i] + 1); } } return dp[n]; }
0 0
- Perfect Squares
- Perfect Squares
- Perfect Squares
- Perfect Squares
- Perfect Squares
- Perfect Squares
- Perfect Squares
- Perfect Squares
- Perfect Squares
- Perfect Squares
- Perfect Squares
- Perfect Squares
- Perfect Squares
- Perfect Squares
- Perfect Squares
- Perfect Squares
- Perfect Squares
- Perfect Squares
- RMQ问题
- 算法之LCA与RMQ问题
- 最长公共子序列(LCS)问题
- *LeetCode-Populating Next Right Pointers in Each Node
- eetCode] Basic Calculator & Basic Calculator II Basic Calculator
- Perfect Squares
- Count Complete Tree Nodes
- *LeetCode-Product of Array Except Self
- Contains Duplicate III
- LeetCode Distinct Subsequences
- Contains Duplicate III
- 一起来算圆周率
- *LeetCode-Integer to Roman
- HBase 1.1.2安装(伪分布式)