力扣 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即可

相关推荐
ゞ 正在缓冲99%…6 小时前
leetcode1771.由子序列构造的最长回文串长度
数据结构·算法·leetcode
多喝开水少熬夜6 小时前
堆相关算法题基础-java实现
java·开发语言·算法
锂享生活6 小时前
论文阅读:铁路车辆跨临界 CO₂ 空调系统模型预测控制(MPC)策略
论文阅读·算法
B站_计算机毕业设计之家7 小时前
深度学习:Yolo水果检测识别系统 深度学习算法 pyqt界面 训练集测试集 深度学习 数据库 大数据 (建议收藏)✅
数据库·人工智能·python·深度学习·算法·yolo·pyqt
骑自行车的码农7 小时前
React SSR 技术实现原理
算法·react.js
盘古开天16667 小时前
深度强化学习算法详解:从理论到实践
算法
Mr.H01278 小时前
快速排序的常见构思
数据结构·算法
mit6.8248 小时前
背包dp|格雷码
算法
rit84324998 小时前
基于MATLAB的PCA+SVM人脸识别系统实现
人工智能·算法
RTC老炮8 小时前
webrtc降噪-NoiseEstimator类源码分析与算法原理
算法·webrtc