Perfect Squares
来源:互联网 发布:景观大数据 百度网盘 编辑:程序博客网 时间:2024/05/23 20:04
原来是dp问题,最好解。
转移方程:
dp[i] = Math.min(dp[i], dp[i - j*j] + 1);
求的是最小值
public class Solution { public int numSquares(int n) { int max = (int)Math.sqrt(n);int[] dp = new int[n + 1];Arrays.fill(dp, Integer.MAX_VALUE);for (int i = 1; i <= n; i++) {for (int j = 1; j <= max; j++) {if (i == j*j) {dp[i] = 1;} else if(i > j*j) {dp[i] = Math.min(dp[i], dp[i - j*j] + 1);}}}return dp[n]; }}
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
.
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
- First blog
- 再探OCR------text detection in natural scene自然场景下的字符识别 [持续更新]
- CMS学习 --- joomla数据库表结构
- Kaggle digit-recognizer PCA+SVM
- javaScript基础:Array类型
- Perfect Squares
- 很详细的log4j使用教程
- 数论基础知识小结
- mysql常用函数基本查询
- 文章标题
- HDU2006 求奇数的乘积
- OpenGLES—拾取
- osgi + camel + karaf配置日志输出
- js 获取当前浏览器所在的位置