完全平方数—leetcode279
给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。
示例 1:
输入: n = 12
输出: 3
解释: 12 = 4 + 4 + 4.
示例 2:
输入: n = 13
输出: 2
解释: 13 = 4 + 9.
思路:动态规划
使用dp的重点在于递推式:
f(i)=1+min{f(i-1*1),f(i-2*2),...,f(i-k*k)} k为小于i的最大完全平方数
凑成数值i的最少平方数的个数 = 凑成数值i-x*x的最少平方数的个数 + 1,其中x范围为i-x*x>=0
class Solution {
public:int numSquares(int n) {vector<int> dp(n+1,0);for(int i=1;i<=n;++i){int m = n;for(int j=1;j*j<=i;++j){if(dp[i-j*j]<m)m=dp[i-j*j];}dp[i] = m+1;}return dp[n];}
};
完全平方数—leetcode279相关推荐
- 【代码随想录】-动态规划专题
文章目录 理论基础 斐波拉契数列 爬楼梯 使用最小花费爬楼梯 不同路径 不同路径 II 整数拆分 不同的二叉搜索树 背包问题--理论基础 01背包 二维dp数组01背包 一维数组(滚动数组) 装满背包 ...
- Leetcode279:完全平方数
Leetcode279:完全平方数 题目: 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 . 完全平方数 是一个整数,其值等于另一个整数的平方:换句话说,其值等于一个整数自乘的积.例如, ...
- Leetcode279完全平方数(工商银行面试题):广度优先搜索.md
类似的题目参考: ES6广度优先搜索:最长回文字符串leetcode5.md 背景 今天做LeetCode的时候,偶尔翻看了一下题目所属的企业,发现有工商银行.作为一个在工商银行软件开发中心工作过10 ...
- leetcode279. 完全平方数
一:题目 二:上码 class Solution {public:/**思路:1.分析题意这个就是将一个数分成几个数的和;然而的话,这几个数必须的是完全平方数,我们要求的是最少数量的完全平方数这个满足 ...
- leetcode279. 完全平方数(动态规划)
给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, -)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示例 1: 输入: n = 12 输出: 3 解释: 12 = ...
- leetcode279 完全平方数
给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示例 1: 输入: n = 12 输出: 3 解释: 12 ...
- Leetcode--279. 完全平方数
给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示例 1: 输入: n = 12 输出: 3 解释: 12 ...
- leetcode279——完全平方数——java实现
题目要求: 分析: 这道题利用动态规划来做,参考了一位大神的博客,传送门:LeetCode 279. Perfect Squares 我们创建一个长度为n + 1的数组dp表示最少的完全平方数,则可以 ...
- [C++]Leetcode279.完全平方数
279.完全平方数 题目:给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, -)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示例 1: 输入: n = 12 输出 ...
最新文章
- linux shell #[感叹号]/bin/bash 是什么意思?
- SpringBoot系列:Spring Boot集成定时任务Quartz
- 防止SQL SERVER的事件探查器跟踪软件
- 前端学习(2533):mapgetter和actions
- 回溯算法(Backtracking Algorithm)之八皇后问题
- php output_add_rewrite_var
- java乱码问题详解-值得收藏
- 关于android集成开发环境-引入jar包错误的问题
- php post 302,php – Laravel 5.2 Post 302重定向到GET
- 南方科技大学计算机系师资,于仕琪 - 教师个人主页 - 南方科技大学
- ftp下载工具 免费,7大值得推荐的免费版ftp下载工具
- 用html和css制作日历,CSS3制作日历
- 关于python3的input函数和int()强制转换
- hbase 使用lzo_装配HBase LZO
- 驱动工程师面试题汇编
- Splay 总结基础精华
- 判断系统是centos还是ubuntu的linux命令
- 大学计算机基础实验指导第一章答案,(教材)大学计算机基础实验指导与习题解答...
- Speex 一个开源的声学回声消除器(Acoustic Echo Cancellation)
- 【字符串】PTA试题——敲笨钟(20分)
热门文章
- adsl拨号无公网地址如何用ddns_【好玩的网络-第5期】分享自编ddns程序,17行代码轻松实现免费ddns,服务器或nas玩家的福音...
- 2016年第一堂课课后作业1
- python中迭代器和生成器的区别
- 通过JAVA对HDFS进行操作管理插件
- react——一个todolist的demo
- .net core 集成 autofac.
- js如何判断一个对象是不是Array
- extjs之TypeError: d.read is not a function解决方案
- [原创 URL重写步骤
- PowerSploit脚本