力扣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];
    }
};
相关推荐
苦藤新鸡12 小时前
14.合并区间(1,3)(2,5)=(1,5)
c++·算法·leetcode·动态规划
程序员-King.12 小时前
day145—递归—二叉树的右视图(LeetCode-199)
算法·leetcode·二叉树·递归
漫随流水12 小时前
leetcode算法(112.路径总和)
数据结构·算法·leetcode·二叉树
过期的秋刀鱼!13 小时前
机器学习-带正则化的成本函数-
人工智能·python·深度学习·算法·机器学习·逻辑回归
ScilogyHunter13 小时前
前馈/反馈控制是什么
算法·控制
_OP_CHEN13 小时前
【算法基础篇】(四十八)突破 IO 与数值极限:快速读写 +__int128 实战指南
c++·算法·蓝桥杯·算法竞赛·快速读写·高精度算法·acm/icpc
程序员泠零澪回家种桔子13 小时前
RAG自查询:让AI精准检索的秘密武器
人工智能·后端·算法
糖葫芦君13 小时前
TRPO-trust region policy optimization论文讲解
人工智能·算法·机器学习·强化学习
HaiLang_IT13 小时前
基于RepVGG与注意力机制的手写潦草汉字识别算法研究
算法
一起努力啊~13 小时前
算法刷题--字符串
算法