Perfect Squares
2015-09-18 03:32
218 查看
Given a positive integer n, find the least number of perfect square numbers (for example,
For example, given n =
1, 4, 9, 16, ...) which sum to n.
For example, given n =
12, return
3because
12 = 4 + 4 + 4; given n =
13, return
2because
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 ; }
相关文章推荐
- *LeetCode-Populating Next Right Pointers in Each Node
- 约战Angular中Promise(1)
- UVa-1218 - Perfect Service
- JS函数构造: 类 、对象和函数的调用
- ES6 走马观花(ECMAScript2015 新特性)
- JS实现很实用的对联广告代码(可自适应高度)
- JS+CSS实现简易实用的滑动门菜单效果
- jquery实现隐藏在左侧的弹性弹出菜单效果
- JS实现黑色大气的二级导航菜单效果
- JS+CSS实现TreeMenu二级树形菜单完整实例
- jQuery采用连缀写法实现的折叠菜单效果
- JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
- JS实现兼容性好,带缓冲的动感网页右键菜单效果
- JS实现的不规则TAB选项卡效果代码
- React Native for Android 官方文档中文版(最新)全国首发
- Jquery 常用的使用方法总结
- 分布式能源接入 Net metering和Feed-in Tariff
- Ember.js 入门指南——番外篇,路由、模板的执行、渲染顺序
- grunt-JSHint使用说明
- jQuery的学习笔记