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

leetcode0279. 完全平方数-medium

1 题目:完全平方数

官方标定难度:中

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

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

示例 1:

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

输入:n = 13

输出:2

解释:13 = 4 + 9

提示:

1 < = n < = 1 0 4 1 <= n <= 10^4 1<=n<=104

2 solution

采用动态规划, d p i dp_i dpi: i 完全平方数的最少数量,则有
d p i = min ⁡ k = 1 k 2 < = i ( d p i , d p i − k 2 + 1 ) ; dp_i = \min_{k=1}^{k^2 <= i}(dp_i, dp_{i - k ^ 2} + 1); dpi=k=1mink2<=i(dpi,dpik2+1);

代码

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

结果

在这里插入图片描述

http://www.xdnf.cn/news/4659.html

相关文章:

  • 手写 Vue 源码 === 依赖清理机制详解
  • 使用 merge_asof 实现高效的时间序列匹配(无需循环)
  • rest_framework学习之认证 权限
  • 【软件设计师:数据库】13.数据库控制与安全
  • vite 代理 websocket
  • 稳定性_李雅普诺夫——Lyapunov直接法
  • 网络靶场基础知识
  • 是更换Window资源管理器的时候了-> Files-community/Files
  • 涨薪技术|0到1学会性能测试第53课-Tomcat配置
  • Python中的re库详细用法与代码解析
  • 在Lua中使用轻量级userdata在C/C++之间传递数据和调用函数
  • 探讨关于智能体(Agent)结合 Dify、大语言模型(LLM)以及 Qwen-3 模型的项目或概念
  • C++-缺省参数
  • 如何在Jmeter中调用C程序?
  • 【软考-高级】【信息系统项目管理师】【论文基础】采购管理过程输入输出及工具技术的使用方法
  • 永久免费的小工具,内嵌微软接口
  • AWS LB target group 监听端口的增加 (TCP还是UDP)
  • Redis实现分布式获取全局唯一自增ID的案例。
  • Dify X 奇墨科技,让AI大模型从“巨头专属”变为“触手可及”
  • Windows系统下使用Kafka和Zookeeper,Python运行kafka(一)
  • 单片机嵌入式滤波算法库
  • 从颜料混色到网络安全:DH算法的跨界智慧
  • Java实现桶排序算法
  • 【Git】【commit】查看未推送的提交查看指定commit的修改内容合并不连续的commit
  • 【Ubuntu】安裝向日葵远程控制
  • 可观测性方案怎么选?SelectDB vs Elasticsearch vs ClickHouse
  • [逆向工程]什么是DLL重定向(十九)
  • 基于Stable Diffusion XL模型进行文本生成图像的训练
  • 《社交应用架构生存战:React Native与Flutter的部署容灾决胜法则》
  • k8s(11) — 探针和钩子