当前位置: 首页 > news >正文

和为 n 的完全平方数的最少数量

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

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

示例 1:

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

示例 2:

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

 

提示:

  • 1 <= n <= 104

 

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

 dp[i] 来表示和为 i 的最少完全平方数的数量

 初始化 dp 数组,大小为 n + 1,初始值为 n + 1。初始化所有值为 n + 1 表示未计算的状态或不可能的状态,是为了在后续计算中能够利用 min 函数找到真正的最小值。

dp[0] = 0,表示和为 0 时的最小完全平方数数量为 0。

min(dp[i], dp[i - j * j] + 1)

dp[i - j * j] 表示为和为 i - j * j 所需的最小完全平方数数量。

加上 1 是因为我们现在引入了一个新的完全平方数 j * j。

http://www.lryc.cn/news/468206.html

相关文章:

  • Hallo2 长视频和高分辨率的音频驱动的肖像图像动画 (数字人技术)
  • 如何在Debian 8上使用Let‘s Encrypt保护Apache
  • 百科知识|选购指南
  • Go 语言基础教程:4.常量的使用
  • centos服务器重启后,jar包自启动
  • 华为云实战杂记
  • Lesson10---list
  • ASP.NET Core 8.0 中使用 Hangfire 调度 API
  • 查看linux的版本
  • Mysql补充
  • com.baomidou.mybatisplus.extension.service.IService用法详解及使用例子
  • 植物健康,Spring Boot来保障
  • mac-chrome提示您的连接不是私密连接
  • 028.爬虫专用浏览器-抓取#shadowRoot(closed)下的内容
  • Serv00 免费虚拟主机 零成本搭建 PHP / Node.js 网站
  • C#里使用ORM访问mariadb数据库
  • 电商揭秘:商城积分体系简析
  • [OS] 终端控制(Terminal Control) 暂停执行线程(Suspend Executing Thread)
  • 水陆两栖车应对应急事件发挥的作用_鼎跃安全
  • CI/CD 流水线系统-开源框架Tekton
  • Spring MVC(下)
  • 开发涉及的安全规范整理
  • 驱动开发系列26 - Linux Graphics 调试 mesa 的 glDrawArrays (二)
  • laya-spine动画的使用
  • Vue项目实战-新能源汽车可视化(一)(持续更新中)
  • 百度SEO前10关键词排名波动跟用户行为反馈有很大关系
  • 基于微信小程序的电影交流平台
  • Java实现 itext PDF文件打印水印(文字和图片水印)
  • 面经之一:Synchronized与ReentrantLock区别
  • 论文速读:面向单阶段跨域检测的域自适应YOLO(ACML2021)