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

给定正整数 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];}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/394411.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么情况不能办理房产抵押贷款 房产抵押贷能贷多少?

所谓房产抵押贷款是指以自己或亲友的房产作为抵押物向贷款机构申请贷款&#xff0c;款项可用于企业经营、买房、买车、装修及其他用途的融资方式。但是有些情况是规定不能申请房产抵押贷款的&#xff0c;而且贷款的数额是有限的&#xff0c;不是想贷多少就多少。那么&#xff0…

Android RecyclerView 二级列表实现

Android RecyclerView 二级列表实现

2数据库表增加一个字段_14个实用的数据库设计技巧!

1. 原始单据与实体之间的关系可以是一对一、一对多、多对多的关系。在一般情况下&#xff0c;它们是一对一的关系&#xff1a;即一张原始单据对应且只对应一个实体。在特殊情况下&#xff0c;它们可能是一对多或多对一的关系&#xff0c;即一张原始单证对应多个实体&#xff0c…

错误: 找不到或无法加载主类 helloworld_全面剖析虚拟机类加载机制

1.引言java源文件经过编译后生成字节码class文件&#xff0c;需要经过虚拟机加载并转换成汇编指令才能执行&#xff0c;那么虚拟机是如何一步步加载这些class文件的对于java程序员是完全透明的&#xff0c;本文尝试全面分析jvm类加载机制。2.思考开始之前我们来简单思考一下&am…

nginx反向代理和shiro权限校验产生的404问题

问题描述: 我们的项目A&#xff08;以下简称A&#xff09;用了shiro做权限校验&#xff0c;nginx做反向代理&#xff0c;在另一个项目B&#xff08;以下简称B&#xff09;中点击某个A的链接时实现单点登录并会跳转到该路径。跳转到原路径的时候nginx报了404。出现404之后再次点…

android 揭示动画_如何使用意图揭示函数名称使代码更好

android 揭示动画Discover Functional JavaScript was named one of the best new Functional Programming books by BookAuthority!“发现功能JavaScript”被BookAuthority评为最佳新功能编程书籍之一 &#xff01; Code is a way to communicate with developers reading it…

200道物理学难题——038蚱蜢跃树

转载于:https://www.cnblogs.com/hanford/p/6168514.html

(转)dp动态规划分类详解

dp动态规划分类详解 转自&#xff1a;http://blog.csdn.NET/cc_again/article/details/25866971 动态规划一直是ACM竞赛中的重点&#xff0c;同时又是难点&#xff0c;因为该算法时间效率高&#xff0c;代码量少&#xff0c;多元性强&#xff0c;主要考察思维能力、建模抽象能力…

strcmp可以比较数组么_大家都用过百度云,但你面试过百度云么

作者&#xff1a;黄小斜百度研发面经百度智能云软件研发工程师百度智能云研发岗好像是做控制台方面的组一面&#xff1a;1自我介绍&#xff0c;项目2 static关键字有什么用&#xff0c;static修饰不同东西时有什么作用&#xff0c;内部类用static修饰和不用static修饰有何区别。…

leetcode785. 判断二分图(dfs和bfs染色)

给定一个无向图graph&#xff0c;当这个图为二分图时返回true。 如果我们能将一个图的节点集合分割成两个独立的子集A和B&#xff0c;并使图中的每一条边的两个节点一个来自A集合&#xff0c;一个来自B集合&#xff0c;我们就将这个图称为二分图。 graph将会以邻接表方式给出…

bdd cucumber_如何使用BDD构建坚如磐石的Ruby on Rails应用

bdd cucumberby Marko Anastasov通过Marko Anastasov 如何使用BDD构建坚如磐石的Ruby on Rails应用 (How to build rock-solid Ruby on Rails apps with BDD) 了解通过行为驱动开发来构建可持续Web应用程序的最佳实践。 (Learn best practices for building sustainable web a…

go kegg_KEGG分析及可视化

上一篇推文中我们解释了GO富集分析及可视化&#xff08;GO富集分析及可视化&#xff09;&#xff0c;除了GO富集分析&#xff0c;我们经常在paper中看到KEGG分析&#xff0c;KEGG是什么呢&#xff0c;Kyoto Encyclopedia of Genes and Genomes&#xff0c;京都基因和基因组百科…

IntelliJ IDEA注册码

IntelliJ IDEA注册码 http://idea.lanyus.com/ 1.导航栏下 2.help下 3.register点击 4.单选Activation code 5.粘贴注册码 转载于:https://www.cnblogs.com/YUJIE666/p/10662561.html

单词本.

offset 偏移量 charset字符集 str 代表String字符串 IgnoreCase忽略大小写 Object 对象 argument 参数 if and only if:当且仅当 value:值 specified:指定 Parameters:参数 iterator:迭代器 invoke:调用 variable:变量 resolved:解决 sequnence 序列 default:默认转载于:http…

leetcode931. 下降路径最小和(动态规划)

给定一个方形整数数组 A&#xff0c;我们想要得到通过 A 的下降路径的最小和。 下降路径可以从第一行中的任何元素开始&#xff0c;并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列。 示例&#xff1a; 输入&#xff1a;[[1,2,3],[4,5,6],[7,8,9…

lvm使用

注&#xff1a;新添加的硬盘&#xff0c;如果没有分区&#xff0c;可以直接使用pvcreate进行创建&#xff0c;然后用vgextend进行扩展如果新添加的硬盘经过分区&#xff0c;则要把需要扩展的分区修改为8e格式&#xff0c;则进行扩展以上内容实测~相关概念&#xff1a;pv:物理卷…

python django用户登录系统_Django实现用户注册登录

学习Django中&#xff1a;试着着写一个用户注册登录系统&#xff0c;开始搞事情 O(∩_∩)O哈哈~Ubuntupython 2.7.12Django 1.10.4IDE&#xff1a;PycharmBootstrap(其实没怎么用~~)新建项目&#xff1a;(我是直接用pycharm直接生成的)使用终端&#xff1a;(创建项目)django-ad…

ubantu 添加防火墙策略_ubuntu安装防火墙并策略配置

1、安装ubuntu防火墙sudo apt-get install ufw启用sudo ufw enablesudo ufw default deny作用&#xff1a;开启了防火墙并随系统启动同时关闭所有外部对本机的访问(本机访问外部正常)。关闭sudo ufw disable查看防火墙状态sudo ufw status2、开启/禁用相应端口或服务举例sudo u…

如何使用React Native构建嵌套的抽屉菜单

by Dhruvdutt Jadhav由Dhruvdutt Jadhav 如何使用React Native构建嵌套的抽屉菜单 (How to build a nested drawer menu with React Native) Screen space is a precious commodity on mobile. The drawer menu (or “hamburger menu”) is one of the most popular navigatio…

c# WebApi之接口返回类型详解

c# WebApi之接口返回类型详解 https://blog.csdn.net/lwpoor123/article/details/78644998 转载于:https://www.cnblogs.com/hwubin5/p/10665006.html