力扣 279. 完全平方数

news2024/11/25 3:58:28

一、题目描述

给你一个整数 n,返回和为 n 的完全平方数的最少数量 。

完全平方数是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,14916 都是完全平方数,而 311 不是。

示例 1:
输入:n = 12
输出:3 
解释:12 = 4 + 4 + 4

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

二、题解

完全背包问题,n 为背包大小,完全平方数为物品,通过动态规划求解,时间复杂度为 O ( n 2 ) O(n^2) O(n2),空间复杂度为 O ( n ) O(n) O(n)

class Solution {
public:
    int numSquares(int n) {
        /* records[i]表示和为i的完全平方数的最少数量 */
        vector<int> records(n + 1, INT_MAX);

        records.at(0) = 0;

        /* 完全背包,外层遍历背包,内层遍历物品。 */
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j * j <= i; j++) {
                records.at(i) = min(records.at(i), records.at(i - j * j) + 1);
            }
        }

        return records.at(n);
    }
};

在这里插入图片描述

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

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

相关文章

3Ds max入门教程:创建马来西亚双子塔3D模型

推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 最终图像&#xff1a; 步骤-1 下面给出了这个双子塔的基本轮廓。 步骤-2 由于它是一栋88层的建筑&#xff0c;所以我一开始打算把它建到40层。为此&#xff0c;我使用标准的基元类型&#xff1a;盒子和圆…

python 使用 subprocess 实现交互式命令的非交互式执行

背景 想要定时执行某些脚本, 但是脚本是交互式的, 例如下面的bat 脚本 echo offset /p nameName: echo Name is %name%echo exit set /p byeBye: echo Bye is %bye%需要先输入Name, 在看到 exit 后在输入 Bye, 然后程序退出. 解决方案 使用subprocess 来实现 import subpr…

【Solidworks加密软件】Solidworks图纸文件加密方法

Solidworks是一款广泛应用于机械设计和工程领域的三维建模软件。由于Solidworks文件中可能包含敏感的设计和知识产权信息&#xff0c;保护这些图纸的安全性变得至关重要。本文将介绍Solidworks图纸加密的方法和最佳实践&#xff0c;以确保文件的机密性和安全性。 为什么需要加…

Redis字典

1.前言 我们回顾一下之前讲到的Redis的字典结构&#xff0c;示意图如下&#xff1a; Redis的字典本质上来说也是数组链表的数据结构&#xff0c;这与Java中HashMap的数据结构很类似。 由上述结构示意图也能看出&#xff0c;字典dict中维护了一个ht数组&#xff0c;而且只有两…

使用IDEA工具debug java annotation processors

最近看Spring提供的自动生成spring-configuration-metadata.json文件的组件。组件依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</opti…

IO线程NO

在处理问题&#xff1a; Got fatal error 1236 from master when reading data from binary log: Could not find first log file name in binary log index file 好翻译过来就是&#xff1a; 从二进制日志读取数据时&#xff0c;从主服务器收到致命错误 1236&#xff1a;“无法…

opencv-06 使用numpy.array 操作图片像素值

opencv-06 使用numpy.array 操作图片像素值 **1&#xff0e;二值图像及灰度图像****利用item 读取某一个像素值****利用itemset 修改像素值****彩色图像numpy.arry 像素值操作** numpy.array 提供了 item()和 itemset()函数来访问和修改像素值&#xff0c;而且这两个函数都是经…

与时代并进,轻创时代愿做“Ai数字人产业的导向标”

近年来&#xff0c;随着人工智能技术的飞速发展&#xff0c;越来越多的企业开始关注并寻求AI数字人的解决方案&#xff0c;以提升业务效率和创造竞争优势。在这个激烈竞争的市场中&#xff0c;轻创时代作为行业黑马出现在人们视野中&#xff0c;以卓越的创新能力立志成为中小型…

【剑指offer】19. 链表中倒数最后k个结点(java)

文章目录 链表中倒数最后k个结点描述示例1示例2思路完整代码 链表中倒数最后k个结点 描述 输入一个长度为 n 的链表&#xff0c;设链表中的元素的值为 ai &#xff0c;返回该链表中倒数第k个节点。 如果该链表长度小于k&#xff0c;请返回一个长度为 0 的链表。 数据范围&a…

【软件测试】在Windows环境安装Docker(详细步骤)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 下载和安装 1、地…

免费内网穿透方案twingate搭建,适用pve,exsi等虚拟机访问场景

最近学习devops环境搭建&#xff0c;其中需要安装很多中间件和虚拟机&#xff0c;之前黑裙和pve都用的zerotier,可以点对点通信&#xff0c;但是机器多了就要一台一台去部署比较费力&#xff0c;而且在使用过程中发现&#xff0c;pve的容器和pve宿主机的出口IP是一样的&#xf…

聊聊微服务 架构思想

用了好多年微服务架构了&#xff0c;我经常会反思&#xff0c;这个项目为啥用微服务&#xff1f;真的能帮我们解决一些痛点吗&#xff1f;这个项目有必要用微服务吗&#xff1f;这个项目体现出微服务的价值了吗&#xff1f; 我是从2017年开始入手微服务&#xff0c;距今已经五六…

从小白到大神之路之学习运维第59天--------inotify+rsync同步和实时同步(单台同步和多台同步)

第三阶段基础 时 间&#xff1a;2023年7月13日 参加人&#xff1a;全班人员 内 容&#xff1a; inotifyrsync同步和实时同步 目录 一、rsync远程同步 二、源端到发起端同步 安装部署&#xff1a; 源端&#xff08;服务端&#xff09;&#xff1a; &#xff08;单台…

ROS安装注意事项

输入roscore报错&#xff1a;"roscore" not found 输入 sudo apt install ros-​melodi​c-roslaunch​

概率论的学习和整理17:EXCEL里直接对应的分布公式计算概率

1EXCEL计算这些特殊分布的方差 1.1 用原始的概率&#xff0c;期望和方差的方法 虽然计算概率&#xff0c;需要用对应分布的公式P(xn) 想了解的随机变量是总次数n&#xff0c;需要对应几何分布&#xff0c;负二项分布P(xk) 想了解的随机变量是成功次数k&#xff0c;需要对应超几…

【Spring】注解读取和存储Bean对象(下)

三、Spring 获取 bean 对象 获取 bean 对象也叫 “对象装配”&#xff0c;“对象注入”&#xff0c; 意思就是把对象取出来放到某个类中。 对象装配&#xff08;对象注入&#xff09;的实现有以下三种方法&#xff1a; 1. 属性注入 2. 构造方法注入 3. Setter 注入 接下来…

【Unity面试篇】Unity 面试题总结甄选 |Unity进阶篇 | ❤️持续更新❤️

前言 关于Unity面试题相关的所有知识点&#xff1a;&#x1f431;‍&#x1f3cd;2023年Unity面试题大全&#xff0c;共十万字面试题总结【收藏一篇足够面试&#xff0c;持续更新】为了方便大家可以重点复习某个模块&#xff0c;所以将各方面的知识点进行了拆分并更新整理了新…

总结926

总结&#xff1a;今晚状态极佳&#xff0c;回去路上差点被宿管阿姨锁在楼下。之前每每学到晚上脑子都转不动了&#xff0c;不过今晚就像是适应了一样。这也说明&#xff0c;学习&#xff0c;是可以上瘾的。只要循序渐进&#xff0c;步步为营&#xff0c;就不断收获学习的乐趣。…

解决uniapp运行手机基座出现的问题

常见的问题&#xff1a;&#xff08;往往在更新编辑器版本后会出现以下问题&#xff09; 问题1.明明已经连接到手机&#xff0c;就是检测不到设备 问题2.同步资源失败&#xff0c;未得到同步资源的授权 解决办法汇总 问题1解决办法&#xff1a; 方法一&#xff1a;进入HBuild…

关系型数据库范式

范式 前置知识第一范式&#xff08;1NF&#xff09;第二范式&#xff08;2NF&#xff09;第三范式&#xff08;3NF&#xff09;BC范式&#xff08;BCNF&#xff09;第四范式&#xff08;4NF&#xff09;范式化设计和反范式化设计的优缺点&#xff1f; 前置知识 超键(super key)…