力扣279. 完全平方数

给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,14916 都是完全平方数,而 311 不是。

示例 1:

输入:n =12 输出:3

解释:12 = 4 + 4 + 4

示例 2:

输入:n =13 输出:2

解释:13 = 4 + 9

动态规划:

cpp 复制代码
class Solution {
public:
    int numSquares(int n) {
        //dp[n]=min(dp[n],dp[n-j*j]+1)

        vector<int> dp(n+1,INT_MAX);
        dp[0]=0;//必须初始化,否则在计算dp[4]=dp[4-2*2]+1时就会越界
        dp[1]=1;
        for(int i=2;i<n+1;i++){//遍历从1-n(背包)
            for(int j=1;i-j*j>=0;j++){//遍历完全平方数(物品)
                dp[i]=min(dp[i],dp[i-j*j]+1);
            }
            //printf("dp[%d]=%d\n",i,dp[i]);//打印dp数组
        }
        return dp[n];
    }
};
相关推荐
楼田莉子10 分钟前
C++动态规划算法:斐波那契数列模型
c++·学习·算法·动态规划
1373i15 分钟前
【Python】通俗理解反向传播
深度学习·算法·机器学习
Madison-No720 分钟前
【C++】日期类运算符重载实战
c++·算法
cici1587434 分钟前
基于K-SVD的稀疏编码去噪算法
算法
电力程序小学童39 分钟前
基于密集型复杂城市场景下求解无人机三维路径规划的Q-learning算法研究(matlab)
算法·matlab·无人机
小柯J桑_1 小时前
Linux:线程控制
linux·c++·算法
1白天的黑夜11 小时前
栈-1047.删除字符串中的所有相邻重复项-力扣(LeetCode)
c++·leetcode·
im_AMBER1 小时前
Leetcode 18 java
java·算法·leetcode
wzx_Eleven1 小时前
【论文阅读】Towards Privacy-Enhanced and Robust Clustered Federated Learning
论文阅读·人工智能·算法·机器学习·支持向量机·网络安全
旭意1 小时前
C++微基础蓝桥杯之旅9.9-9.12
c++·算法·蓝桥杯