力扣---完全平方数---动态规划

news2024/12/26 13:43:34

思路:

还是比较好想的,g[i]定义为和为 i 的完全平方数的最少数量。那么递推关系式是g[i]=min(g[i-1],g[i-4],g[i-9],...)+1,数组初始化是g[0]=0,g[1]=1。注意这里要对g[0]初始化,(举个例子)因为在遍历到g[4]时,g[4]=min(g[4-1],g[4-4])+1。

代码:

C++:

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

Python:

class Solution:
    def numSquares(self, n: int) -> int:
        g=[0x3f3f3f3f]*(n+1)
        g[0]=0
        g[1]=1
        for i in range(2,n+1):
            j=1
            while i-j*j>=0:
                temp=j*j
                g[i]=min(g[i],g[i-temp]+1)
                j+=1
        return g[n]

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

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

相关文章

34双体系Java学习之对象的创建和引用

创建对象 ★小贴士 当声明一个引用变量时&#xff0c;要求Java虚拟机分配空间给引用变量&#xff0c;并将此变量命名为myCar。 此引用变量将永远被固定为Car类型。 当创建对象时&#xff0c;要求Java虚拟机分配堆空间给新建立的Car对象。 关键字 new 通常称为创建运算符&#x…

redis在springboot项目中的应用

一&#xff0c;将查询结果放到redis中作为缓存&#xff0c;减轻mysql的压力。 只有在数据量大的时候&#xff0c;查询速度慢的时候才有意义。 本次测试的数据量为百万级别。 测试代码: 功能为根据昵称进行模糊匹配。 GetMapping("/get-by-nick")public String get…

基于K-近邻的PLOSAR图像分类

&#x1f380;个人主页&#xff1a; https://zhangxiaoshu.blog.csdn.net &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️&#xff0c;如有错误敬请指正! &#x1f495;未来很长&#xff0c;值得我们全力奔赴更美好的生活&…

无代码平台开发AI已经被实现了吗?

一、背景 无代码平台AI开发是一种新兴的开发方式&#xff0c;它允许非程序员或低代码开发者通过图形化界面、拖拽组件和预设模版等方式&#xff0c;无需编写传统的程序代码就能创建、训练和部署AI模型。这种方式极大地降低了AI技术的使用门槛&#xff0c;让更多不具备编程背景…

2024年第14届生物医学工程与技术国际会议(ICBET 2024)即将召开!

2024年第14届生物医学工程与技术国际会议&#xff08;ICBET 2024&#xff09;将于2024年6月14日至17日在韩国首尔举行。 会议旨在汇聚来自世界各地的研究人员、工程师、院士和行业专业人士&#xff0c;展示他们在生物医学工程与技术领域的最新研究成果和进展。 会议以“生物医学…

轻松应对城市内涝:慧天排水数字化分析平台,城市内涝模拟新利器

​在城市排水防涝规划过程中&#xff0c;水文水动力耦合模型已经成为一种不可或缺的分析工具。在模型建立、城市内涝风险评估、排水系统性能诊断以及海绵城市规划等方面&#xff0c;内涝耦合模型提供了相应的模拟及分析工具&#xff1a; 1.1 丰富的数据处理功能&#xff0c;兼…

C语言中如何动态分配内存并进行操作

C语言文章更新目录 C语言学习资源汇总&#xff0c;史上最全面总结&#xff0c;没有之一 C/C学习资源&#xff08;百度云盘链接&#xff09; 计算机二级资料&#xff08;过级专用&#xff09; C语言学习路线&#xff08;从入门到实战&#xff09; 编写C语言程序的7个步骤和编程…

Redis分布式锁—SETNX+Lua脚本实现

使用redis实现分布式锁&#xff0c;就是利用redis中的setnx&#xff0c;如果key不存在则进行set操作返回1&#xff0c;key已经存在则直接返回0。 优点&#xff1a; 设置expiretime过期时间&#xff0c;可以避免程序宕机长期持有锁不释放。redis作为一个中间服务&#xff0c;所…

成都百洲文化传媒有限公司引领电商服务新潮流

在当今数字化时代&#xff0c;电商行业日新月异&#xff0c;竞争激烈。然而&#xff0c;在这个浪潮中&#xff0c;成都百洲文化传媒有限公司凭借其专业的电商服务&#xff0c;脱颖而出&#xff0c;成为了行业中的新领军者。今天&#xff0c;我们就来探讨一下这家公司如何在这个…

详解mysql安装与配置,及Mac中常见的安装问题

目录 1 数据库介绍 什么是数据库 数据库分类 2 MySQL服务器安装 2.1 Windows绿色安装 2.2 Windows中重装MySQL 3 Mac中常见的安装问题 4 客户端连接MySQL服务器 5 SQL分类 1 数据库介绍 什么是数据库 存储数据用文件就可以了&#xff0c;为什么还要弄个数据库? 文件…

面试算法-103-对链表进行插入排序

题目 给定单个链表的头 head &#xff0c;使用 插入排序 对链表进行排序&#xff0c;并返回 排序后链表的头 。 插入排序 算法的步骤: 插入排序是迭代的&#xff0c;每次只移动一个元素&#xff0c;直到所有元素可以形成一个有序的输出列表。 每次迭代中&#xff0c;插入排序…

下载的音频转换成mp3怎么转?4个好用简单的方法

不同音乐平台下载的音频格式文件不同&#xff0c;比如网易云的ncm格式、酷狗的kgm格式、B站的m4s格式、微信语音的silk格式、手机录音的amr、m4a格式&#xff0c;这些音频一旦脱离了原本的平台便无法播放&#xff0c;那么如何把下载的音频转换成兼容性高的MP3格式以便于我们在更…

BoostSeacher

前言&#xff1a; 基于Boost库的搜索引擎 为何基于Boost库&#xff1f; 从技术上说&#xff1a;这个项目用了很多Boost库的接口从搜索引擎存储内说&#xff1a;存储的内容是Boost库的内容预期效果 预期效果:用户在浏览器输入关键词&#xff0c;浏览器显示相关结果 STEP1&#x…

问题记录:idea中的目标字节码版本总是自动更改为1.5

问题描述&#xff1a; 图中画圈的地方应该是1.8 但是总是自动被还原到1.5 解决方法&#xff1a;在pom文件中加入,注意加入到内中&#xff0c;作为子节点 <build><plugins><plugin><artifactId>maven-compiler-plugin</artifactId><version…

Python编程异步爬虫实战案例

aiohttp异步爬取实战 案例介绍 链接为https://spa5.scrape.center&#xff0c;页面如下图所示&#xff1a; 这是一个图书网站&#xff0c;整个网站包含数千本图书信息&#xff0c;网站数据是JavaScript渲染而得的&#xff0c;数据可以通过Ajax接口获取&#xff0c;并且接口没…

关于YOLOv9项目中使用已有模块自由改进的教程

专栏介绍&#xff1a;YOLOv9改进系列 | 包含深度学习最新创新&#xff0c;助力高效涨点&#xff01;&#xff01;&#xff01; 1. 文件说明 在YOLOv5-v9&#xff0c;模型的结构是以yaml文件的存储。我们可以在原有的yaml基础上增、减、改模块&#xff0c;创作我们自己的模型。 …

蓝桥杯刷题-串的处理

串的处理 代码 s input().split() l_new [] for i in s:i list(i)new""for j in range(len(i)-1): # 遍历newi[j]if i[j].isdigit() and i[j1].isalpha(): # 在字母和数字之间添加“_”new_if i[j].isalpha() and i[j1].isdigit(): # 同上new_newi[-1]l_new.appe…

高德地图加遮罩灯光效果

最近做大屏展示&#xff0c;UI突然有一个大胆的想法&#xff0c;他想把地图做成那种有点灯光照在上面的感觉&#xff0c;经过几番尝试后终于实现了相关效果&#xff0c;特此分享&#xff1b; 效果图 实现方式-css /* 高德地图加载成功有一个amap-layers类名的标签&#xff0c;…

论文不再难写:ChatGPT带你飞

目录 一、ChatGPT&#xff1a;您的个人写作顾问 1.打造个性化的论文框架 2.提升写作质量与效率 3.丰富表达方式&#xff0c;增强文章吸引力 二、结语&#xff1a;开启写作新篇章 在这个信息迅速发展、日新月异的时代里&#xff0c;写作已成为我们表达自我、在学术界或职场…

406. 根据身高重建队列(力扣LeetCode)

文章目录 406. 根据身高重建队列题目描述贪心算法代码 406. 根据身高重建队列 题目描述 假设有打乱顺序的一群人站成一个队列&#xff0c;数组 people 表示队列中一些人的属性&#xff08;不一定按顺序&#xff09;。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi &…