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

示例 1:

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

解题思路

数组含义:dp[i]数字i对应组成和的完全平方数的个数最少
状态转移: dp[i]=Math.min(dp[i-j
j]+1,dp[i]) 逐个取小于i的平方数,将i分解为一个不可切割的平方数和可分解成平方数的数字,去最小值。
初始化:将数组用最大值填充
*

代码

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

leetcode279. 完全平方数(动态规划)相关推荐

  1. Leetcode279:完全平方数

    Leetcode279:完全平方数 题目: 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 . 完全平方数 是一个整数,其值等于另一个整数的平方:换句话说,其值等于一个整数自乘的积.例如, ...

  2. Leetcode279完全平方数(工商银行面试题):广度优先搜索.md

    类似的题目参考: ES6广度优先搜索:最长回文字符串leetcode5.md 背景 今天做LeetCode的时候,偶尔翻看了一下题目所属的企业,发现有工商银行.作为一个在工商银行软件开发中心工作过10 ...

  3. leetcode279. 完全平方数

    一:题目 二:上码 class Solution {public:/**思路:1.分析题意这个就是将一个数分成几个数的和;然而的话,这几个数必须的是完全平方数,我们要求的是最少数量的完全平方数这个满足 ...

  4. leetcode279——完全平方数——java实现

    题目要求: 分析: 这道题利用动态规划来做,参考了一位大神的博客,传送门:LeetCode 279. Perfect Squares 我们创建一个长度为n + 1的数组dp表示最少的完全平方数,则可以 ...

  5. leetcode279 完全平方数

    给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示例 1: 输入: n = 12 输出: 3  解释: 12 ...

  6. Leetcode--279. 完全平方数

    给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示例 1: 输入: n = 12 输出: 3  解释: 12 ...

  7. LeetCode 279. 完全平方数(动态规划)

    题目描述 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, -)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示例 1: 输入: n = 12 输出: 3 解释: ...

  8. [C++]Leetcode279.完全平方数

    279.完全平方数 题目:给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, -)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示例 1: 输入: n = 12 输出 ...

  9. 【代码随想录】-动态规划专题

    文章目录 理论基础 斐波拉契数列 爬楼梯 使用最小花费爬楼梯 不同路径 不同路径 II 整数拆分 不同的二叉搜索树 背包问题--理论基础 01背包 二维dp数组01背包 一维数组(滚动数组) 装满背包 ...

最新文章

  1. 配置ubuntu - tftp server服务器步骤
  2. 关于更改MYECLIPSE JS 代码背景颜色
  3. Windows 远程桌面管理
  4. 晒一下我的代码生成器
  5. 【 HDU - 1796】How many integers can you find (容斥原理,二进制枚举或者dfs)
  6. python实现图像分割_Python实现投影法分割图像示例(一)
  7. 《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》——01-05 基本职能:老鸟也曾是菜鸟...
  8. 如何将网页实现变灰效果?
  9. 2019文都计算机网络百度云,2019计算机考研|计算机网络知识:计算机网络体系结构...
  10. 【图文详解】用Eclipse创建Maven Web项目
  11. 境外自助游服务平台澳乐网获戈壁千万级投资
  12. CSS3实现钟表特效
  13. python爬取千图网_python 爬取 花瓣网图片,千图网图片
  14. Nvivo使用步骤记录
  15. cacheable 表达式_springboot @Cacheable 基本使用
  16. 哪些人适合转行学习IT技术呢
  17. JAVA构造器、静态上下文的执行时机与代码执行顺序详解
  18. Web 2.0网站流行使用的颜色元素
  19. 机器学习及人工智能发展史
  20. 那些年搭建风控体系所踩的坑

热门文章

  1. 三年经验java工资,含爱奇艺,小米,腾讯,阿里
  2. 7天拿到阿里Android岗位offer,都是精髓!
  3. 普通二本的辛酸Android面试之路,算法太TM重要了
  4. 安卓开发面试书籍,每个程序员都必须掌握的8种数据结构!面试必会
  5. 阿里P7大牛整理!BAT大厂面试基础题集合,成功入职字节跳动
  6. 敏捷管理之绩效考核方案
  7. qt之旅-1纯手写Qt界面
  8. CodeForces 176B Word Cut(DP)
  9. HDU 2897 (博弈 找规律) 邂逅明下
  10. 神马是代码简单的cmd模式,这就是!