当前位置: 首页> 教育> 锐评 > dedecms源码下载_南京网络程序开发公司_泉州seo技术_百度热搜榜历史

dedecms源码下载_南京网络程序开发公司_泉州seo技术_百度热搜榜历史

时间:2025/7/10 0:35:19来源:https://blog.csdn.net/Ct314/article/details/143221332 浏览次数:0次
dedecms源码下载_南京网络程序开发公司_泉州seo技术_百度热搜榜历史

给你一个整数 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。

关键字:dedecms源码下载_南京网络程序开发公司_泉州seo技术_百度热搜榜历史

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: