力扣 hot100 Day74

279. 完全平方数

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

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

cpp 复制代码
class Solution {
public:
    int numSquares(int n) {
        vector<int> dp(n+1, INT_MAX);
        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[i-j*j]+1与dp[i]的最小值,即可得最少数量

dp初始化为极大值,所以可以理解为dp[i]会在循环初始为dp[i-1]+1,只需要设定dp[0]=0即可

相关推荐
L_09073 小时前
【C++】高阶数据结构 -- 红黑树
数据结构·c++
A_nanda3 小时前
c# MOdbus rto读写串口,如何不相互影响
算法·c#·多线程
代码雕刻家4 小时前
2.4.蓝桥杯-分巧克力
算法·蓝桥杯
Ulyanov5 小时前
顶层设计——单脉冲雷达仿真器的灵魂蓝图
python·算法·pyside·仿真系统·单脉冲
智者知已应修善业6 小时前
【查找字符最大下标以*符号分割以**结束】2024-12-24
c语言·c++·经验分享·笔记·算法
划破黑暗的第一缕曙光6 小时前
[数据结构]:5.二叉树链式结构的实现1
数据结构
91刘仁德6 小时前
c++类和对象(下)
c语言·jvm·c++·经验分享·笔记·算法
青桔柠薯片6 小时前
数据结构:单向链表,顺序栈和链式栈
数据结构·链表
diediedei7 小时前
模板编译期类型检查
开发语言·c++·算法
阿杰学AI7 小时前
AI核心知识78——大语言模型之CLM(简洁且通俗易懂版)
人工智能·算法·ai·语言模型·rag·clm·语境化语言模型