###题目
给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。

示例 1:

输入: n = 12
输出: 3
解释: 12 = 4 + 4 + 4.
示例 2:

输入: n = 13
输出: 2
解释: 13 = 4 + 9.

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/perfect-squares
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

###题解

  • dp[i]表示组成i的最少完全平方数。初始化为i,即i 个1组成。
  • 注意i-j*j>=0的条件。

###代码

class Solution {
public int numSquares(int n) {
int[] dp=new int[n+1];
for(int i=1;i<=n;++i){
dp[i]=i;
for(int j=1;i-j*j>=0;++j){
dp[i]=Math.min(dp[i],dp[i-j*j]+1);
}
}
return dp[n];
}
}

最新文章

  1. c语言之【#ifdef】
  2. 引入math模块中的log()方法,导致&quot;TypeError: return arrays must be of ArrayType&quot;,什么原因?
  3. XStream使用总结
  4. (33)odoo中产品价格字段
  5. mysql修改表名,列名,列类型,添加表列,删除表列
  6. android圆角View实现及不同版本这间的兼容(android3.0过后的版本)
  7. js内置对象处理-打印学生成绩单
  8. 【 UVALive - 5095】Transportation(费用流)
  9. iCIBA简单案例
  10. SQL入门学习6-集合运算
  11. hackerrank 训练军队
  12. Python : Module
  13. Android的ToggleButton和Switch以及AnalogColok和DigitalColok的用法-android学习之旅(二十)
  14. centos-7 yum装docker-ce后启动失败
  15. ansible-playbook用法
  16. cmake安装配置及入门指南
  17. Linux命令:source
  18. netty源码分析之二:accept请求
  19. TCP/IP详解 卷1 第十八章 TCP的建立与终止
  20. js重定向跳转页面

热门文章

  1. 碰到 Json_CSRF 怎么办?
  2. CopyOnWriteArrayList源码阅读笔记
  3. jQuery - AJAX笔记
  4. Jmeter 常用函数(31)- 详解 __iterationNum
  5. Java 添加条码、二维码到PDF文档
  6. client-go workqueue demo
  7. 七夕节表白3d相册制作(html5+css3)
  8. Java数据结构——树、二叉树的理论知识汇总
  9. Java面试题(异常篇)
  10. 面经手册 &#183; 第8篇《LinkedList插入速度比ArrayList快?你确定吗?》