LeetCode#279. Perfect Squares
来源:互联网 发布:南开创元java 编辑:程序博客网 时间:2024/06/05 07:55
题意:给定一个数n,求最少能有多少个完全平方数,使得这些完全平方数的之和等于n
思路:任意一个数x,都能表示为 x = a + b*b(即使x本身就是个完全平方数),因此求解x的最少完全平方数缩小为求解a的最少完全平方数,即求“最优子结构”,典型的动态规划思想
难度:Medium
代码:
public int numSquares(int n) { //int count = (int)Math.sqrt(n); int[] result = new int[n+1]; Arrays.fill(result,Integer.MAX_VALUE); for(int i = 0; i*i <= n; i++) result[i*i] = 1; for(int i = 1; i <= n; i++){ for(int j = 1; j*j <= i; j++){ result[i] = Math.min(result[i],result[i-j*j]+1); } } return result[n]; }
更多参照:
https://leetcode.com/problems/perfect-squares/#/solutions
0 0
- [leetcode] 279. Perfect Squares
- 279. Perfect Squares LeetCode
- leetcode 279. Perfect Squares
- leetcode 279. Perfect Squares
- [LeetCode]279. Perfect Squares
- LeetCode-279.Perfect Squares
- LeetCode *** 279. Perfect Squares
- leetcode.279. Perfect Squares
- LeetCode 279. Perfect Squares
- [leetcode] 279. Perfect Squares
- Leetcode-279. Perfect Squares
- LeetCode 279. Perfect Squares
- Leetcode 279. Perfect Squares
- [LeetCode]279. Perfect Squares
- 【LeetCode】 279. Perfect Squares
- (LeetCode) 279. Perfect Squares
- LeetCode 279. Perfect Squares
- LeetCode#279. Perfect Squares
- 正式使用opencv里的训练和检测
- java小计算器
- SpringMVC 在业务控制方法中收集数组及List<JavaBean>参数
- 判断闰年与否
- Python eval 函数妙用
- LeetCode#279. Perfect Squares
- NC5、6返回数据集开发报表例子:
- 关于jsp页面是放在webroot目录下和web-inf下优缺点
- 线程状态
- Android notification通知
- c++选择语句
- FAL_CLIENT和FAL_SERVER
- 信息专家模式
- linux硬链接与软链接