LeetCode:完全平方数【279】【DP】
LeetCode:完全平方数【279】【DP】
题目描述
给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...
)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。
示例 1:
输入: n =12
输出: 3 解释:12 = 4 + 4 + 4.
示例 2:
输入: n =13
输出: 2 解释:13 = 4 + 9.
题目分析
动态规划真的是笔试过程中必不可少的题型。
如果我们想知道n=15的方法数,我们可以转换为求n=14的方法数、n=11的方法数、n=6的方法数,然后他们中间取最小值+1,即是15的方法数。
同样,n=14的方法数,是n=13、n=10、n=5中的最小值+1....这样我们可以使用动态规划来避免重复计算。
Java题解
class Solution {public int numSquares(int n) {if(n<=0)return 0;int[] cntPerfectSquares = new int[n+1];Arrays.fill(cntPerfectSquares,Integer.MAX_VALUE);cntPerfectSquares[0]=0;for(int i=0;i<=n;i++){for(int j=1;j*j<=i;j++){cntPerfectSquares[i]=Math.min(cntPerfectSquares[i],cntPerfectSquares[i-j*j]+1);}}return cntPerfectSquares[n];}
}
转载于:https://www.cnblogs.com/MrSaver/p/9669185.html
LeetCode:完全平方数【279】【DP】相关推荐
- leetcode 279. 完全平方数(dp)
题目一 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, -)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 给你一个整数 n ,返回和为 n 的完全平方数的 最少数 ...
- 【LeetCode】279. 完全平方数 【动态规划】【四平方和定理】
题目链接:https://leetcode-cn.com/problems/perfect-squares/ 题目介绍 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使 ...
- LeetCode Non-overlapping Intervals(dp,greedy)
问题: 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触&quo ...
- LeetCode:Maximus Square(DP)
Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1's and ret ...
- LeetCode Maximal Rectangle(dp)
Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones ...
- Leetcode 279. 完全平方数
Leetcode 279. 完全平方数 1.问题分析 2.问题解决 3.总结 1.问题分析 题目链接:https://leetcode-cn.com/problems/perfect-squares/ ...
- 279. 完全平方数 (数学定理 四平方数之和定理)
LeetCode: 279. 完全平方数 这道题如果知道数学定理之后,相当于告诉你: 任何正整数都可以拆分成不超过4个数的平方和 -> 答案只可能是1,2,3,4 如果一个数最少可以拆成4个数的 ...
- LeetCode 70爬楼梯71简化路径72编辑距离(dp)
新人公众号(求支持):bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注这个潇洒青年一起飞,回 ...
- LeetCode 热题 HOT 100 完整题解笔记知识点分类 C++代码实现
1.知识点分布 填一下这个之前欠的天坑,复习一下算法入门的经典基础题. 除夕,正月初一,初二,一共写了三整天,除了吃饭就窝着补题. 每天30题+,整个人都写晕啦,终于写完啦() markdown生成 ...
- 【LeetCode】动态规划入门(专项打卡21天合集)
[LeetCode]动态规划入门(专项打卡21天合集) 下图为证 文章目录 [LeetCode]动态规划入门(专项打卡21天合集) Day1 斐波拉契数 第 N 个泰波那契数 Day2 爬楼梯 使用最 ...
最新文章
- 安徽师范大学信息计算机学院,安徽师范大学数学计算机科学学院导师介绍:罗永龙...
- Eclipse执行import命令导入maven项目时报错:Add a version or custom suffix using Name template in Advanced set...
- mysql自动备份 linux_Linux下MySQL数据库自动定时备份
- vuejs知乎_vueJS (简版)amp; 响应式原理
- C-Free 5.0注册码分享
- IMAC 2011 MID免光驱安装WIN10
- Android Studio 导入modle是提示名称已存在
- C#实战012:Excel操作-获取Excel某一行数据并存入数组
- 游戏私服频繁被DDOS攻击怎么办
- x1 php168,新手快速入门教程
- python文件和数据格式化思维导图,思维导图:Numpy+Pandas
- RTSP实时音视频传输介绍
- PHP正则匹配全中文
- Java基础篇(集合)
- 北方互动:APP开发的具体流程
- python---做一个恶搞程序
- mysql 索引超767_mysql Index column size too large 超过767错误解决方案(转)
- 跳转到应用商城App详情页
- linux用mpi运行命令,linux mpirun命令
- 微软老照片AI修复开源代码运行错误
热门文章
- 计算机系统自带的文字处理程序,如何使用win7系统电脑的内置字符编辑程序
- PAT_1056_组合数的和(15)
- 又见n/i下取整+分块
- 最长回文子串manacher算法模板
- Flask报错RuntimeError: No application found. Either work inside a view function or push an applicatiio
- ALOHA simulaiton仿真结果及分析
- bzoj 1406: [AHOI2007]密码箱
- C - 二进制换十进制(简单)
- 1119 九九乘法表的值(%-4d等 的含义)
- 李开复:多次失败后,我总结出最优秀创业者的4个特点