问题描述

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

示例 1:

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

示例 2:

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

解题思路

1、创建一个0~n的数组dp
2、赋给数组每个位置需要最多完全平方数的个数,如:4=1+1+1+1,那么dp[4]=4
3、找组成n的最少完全平方个数,先看n-1需要几个,再看n-4…直到n-x=0,找出其中最小的个数

代码

class Solution {public int numSquares(int n) {//上面说的dp数组int[] a=new int[n+1];for(int i=1;i<n+1;i++){a[i]=i;//查看n之前的,j*j就是1、4、9...for(int j=1;i-j*j>=0;j++){a[i]=Math.min(a[i],a[i-j*j]+1);}}return a[n];}
}

完全平方数-动态规划相关推荐

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

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

  2. leetcode算法题--零钱兑换

    原题链接:https://leetcode-cn.com/problems/coin-change/ 相关题目:leetcode算法题–完全平方数★ 动态规划 dp[i] i从0到amount,dp[ ...

  3. 牛客网在线编程全部题目

    我的状态 题号 题目 知识点 难度 通过率 考察次数 NC1 大数加法 字符串 模拟 中等 43.92% 46 NC2 重排链表 链表 中等 25.94% 11 NC3 链表中环的入口结点 链表 哈希 ...

  4. leetcode 279. 完全平方数 bfs广度优先解法 图解 动态规划解法 c代码

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

  5. 【LeetCode笔记】279. 完全平方数(Java、动态规划)

    文章目录 题目描述 思路 & 代码 题目描述 类似找零钱,思路和代码框架基本上一样 思路 & 代码 考虑到这么一点:某完全平方数,肯定是由另一更小的完全平方数 + 一平方组成 比如 1 ...

  6. 【LeetCode】279. 完全平方数 【动态规划】【四平方和定理】

    题目链接:https://leetcode-cn.com/problems/perfect-squares/ 题目介绍 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使 ...

  7. 279完全平方数(四平方定理、递归、动态规划)

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

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

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

  9. 279. 完全平方数 golang 动态规划

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

  10. leetcode279. 完全平方数(动态规划)

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

最新文章

  1. 数据库低端sql查询语句片段
  2. 解决Android 5.1物理键盘与软键盘的同时使用
  3. sql超低级用法(防遗忘)
  4. Tecplot如何保存frame style 并调用frame style
  5. background-size 兼容ie8以下浏览器的方法
  6. MVC简单介绍(转)
  7. Python提取彩色图像的二值化边缘
  8. android https双向认证
  9. P2P 终结者 IP雷达
  10. 计算机一级考试通知书,1994年全国计算机等级考试一级试题及答案.doc
  11. Android Nginx Retrofit+Okhttp.HTTP 504 Unsatisfiable Request (only-if-cached)
  12. ie浏览器rgba不能显示的一种情况
  13. centOS系统下openGauss极简版安装
  14. js实现图片无缝滚动特效
  15. 计算机桌面怎么全屏显示,台式电脑桌面两边黑框怎么调全屏 定位到缩放栏目...
  16. 有赞云开发小坑(个人笔记)
  17. 二分法求解平方根注意点:
  18. WorkFlow建立
  19. 魔兽地图编辑器插件YDWE的使用与基本设置8 游戏平衡常数
  20. Python 京东抢购茅台脚本(亲测可用)

热门文章

  1. 【秘密】我经历过的币圈天使融资,了解一下
  2. Win10喇叭图标出现红叉提示“未安装任何音频输出设备“
  3. PythonR LEfSe 分析
  4. nnt第三代接任务软件
  5. C#开发工控上位机编程 csdn_C#串口编程示例
  6. SaaS、PaaS、IaaS云服务模式和商业云平台设计与建设方案
  7. 转:天下互联CEO张向宁:傻目录不是搜索引擎
  8. 新固态硬盘安装操作系统
  9. 现在计算机上都有高速缓冲存储器,高速缓冲存储器(Cache.一般采用DRAM构成
  10. 魏尔斯特拉斯函数与分形图形的动画演示