LeetCode 279 Perfect Squares
2015-12-14 09:38
459 查看
题目描述
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.
Credits:
Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.
分析
动态规划,求解最优化问题,自底向上。代码
[code] public int numSquares(int n) { int[] dp = new int[n + 1]; Arrays.fill(dp, Integer.MAX_VALUE); // 将所有平方数置1 for (int i = 0; i * i <= n; i++) { dp[i * i] = 1; } for (int a = 1; a <= n; a++) { for (int b = 1; a + b * b <= n; b++) { // 取较小值,a + b * b也可能是平方数 dp[a + b * b] = Math.min(dp[a] + 1, dp[a + b * b]); } } return dp ; }
相关文章推荐
- jQuery position() 函数详解以及jQuery中position函数的应用
- 用js写图片轮播
- js----window对象
- Jquery easyui从零单排之datagrid添加行单击事件
- 你应该知道的9个优秀的CSS框架
- JSON使用OnSerializing,OnSerialized,OnDeserializing,OnDeserialized
- jquery点击click事件和blur事件冲突如何解决
- js函数的作用域与this指向
- MVC前端控制前图解
- Numeric Character Reference转NSString
- CSS中position属性之fixed实现div居中
- 网页中多个图标在一张图片上,使用css将各图标显示
- js的几个库
- JS核心系列:理解 new 的运行机制
- 通过设置CSS中的position属性来固定层的位置
- JS图片时间
- js实现拖拽效果(构造函数)
- 通过javascript在网页端生成zip压缩包并下载
- $.map()函数——JQuery
- 【今日计划】学习jQuery与Ajax的应用