Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, ...) which sum to n.

Example 1:

Input: n = 12
Output: 3 
Explanation: 12 = 4 + 4 + 4.
Example 2:

Input: n = 13
Output: 2
Explanation: 13 = 4 + 9.

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

思路:

1. dp[i]表示构成i这个数构成平方和需要数字的最小个数

2. 当j*j<i的时候,temp中保存j从1开始每加1得到的dp[i-j*j] + 1的最小值

3. 当j*j=i的时候,dp[i]的值就直接为1

class Solution {
public:int numSquares(int n) {vector<int> dp(n+1);dp[1] = 1;for(int i = 2; i <= n; i++){int temp = 999999999;for(int j = 1; j*j <= i; j++){if(j*j == i){temp = 1;break;}temp = min(temp, dp[i-j*j]+1);}dp[i] = temp;}return dp[n];}
};

leetcode -- 279. Perfect Squares相关推荐

  1. LeetCode 279. Perfect Squares

    279. Perfect Squares Given a positive integer n, find the least number of perfect square numbers (fo ...

  2. leetcode 279. Perfect Squares | 279. 完全平方数(动态规划,Java)

    题目 https://leetcode.com/problems/perfect-squares/ 题解:动态规划 参考:[宫水三叶]详解完全背包一维空间优化推导(附背包问题攻略) 首先初始化长度为 ...

  3. Leetcode 279. Perfect Square

    Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 1 ...

  4. 279 Perfect Squares 完美平方数

    给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...) 使得他们的和等于 n.你需要让平方数的个数最少. 比如 n = 12,返回 3 ,因为 12 = 4 + 4 + 4 : ...

  5. 279. Perfect Squares

    Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 1 ...

  6. Xiaohe-LeetCode 279 Perfect Squares

    (1)Best way.94% This one uses Lagrange's four-square theorem. According to it, every integer is a su ...

  7. 【Breadth-first Search 】279. Perfect Squares

    输入:一个非负整数n. 输出:这个非负整数可以写成几个完全平方数.返回这个数量. 规则:完全平方数可以表示为某个整数的平方.例如:1,4,9- 分析:13=4+9 也就是说13可以写成2个完全平方数的 ...

  8. [LeetCode]Perfect Squares

    题目链接:Perfect Squares 题目内容: Given a positive integer n, find the least number of perfect square numbe ...

  9. 4kyu Sums of Perfect Squares

    4kyu Sums of Perfect Squares 题目背景: The task is simply stated. Given an integer n (3 < n < 109) ...

最新文章

  1. iOS 仿微信灵活添加标签
  2. GlusterFS 安装与配置
  3. OA办公系统使用之:Tomcat与mysql的几个常见问题
  4. (原創) 我的Design Pattern之旅[3]:使用template改進Strategy Pattern (OO) (Design Pattern) (C/C++) (template)...
  5. pccad自定义图框_(PCCAD自定义标题栏详细方法.doc
  6. js正则限制字符串长度_正则笔记(3)万字长文,慎点。
  7. java 导入world数据_java读取world文件,把world文件中的内容,原样输出到页面上。...
  8. 如何使用Vue集成其它UI组件?如何阅读UI官网?移动端组件Vant实例教程(熬夜干货)
  9. flutter 泛型_flutter用NestedScrollView的项目必须知道的坑
  10. Oracle 安装报错 [INS-06101] IP address of localhost could not be determined 解决方法[转]
  11. 《机器人编程实战》一一1.2 给机器人指令
  12. java位图去重_Redis系列(3) Bloom/BitMap/Geo
  13. Vue中常用的组件传值方式
  14. SuperSocket服务器架设(一):认识SuperSocket
  15. python获取浏览器network_如何使用python selenium获取浏览器网络日志
  16. Git学习使用方法总结(1)
  17. vue项目,地址栏中含有#是什么意思?如何去掉?
  18. conda删除环境 显示cannot remove current environment. deactivate and run conda remove again
  19. python写完后打不开门_感觉自己python已经入门了,为什么还是没法用Python写好程序?...
  20. 关于融云在APIcloud中的集成

热门文章

  1. 基于 FFmpeg 的播放器 demo
  2. python爬虫 爬取有道翻译详解
  3. 从Golang调度器的作者视角探究其设计之道!
  4. 从零开始玩转JMX(四)——Apache Commons Modeler Dynamic MBean
  5. Java 程序优化:字符串操作、基本运算方法等优化策略
  6. 【今晚9点】:对话袁荣喜——一名C程序员的打怪之路
  7. 揭秘腾讯云最新音视频及融合通信技术实践
  8. 周小鹏:努力让FPGA支持更多开源库和框架
  9. 音视频技术开发周刊 88期
  10. 实现Jitsi SFU自动关闭/启动视频层