279. 完全平方数

✅装满完全背包的最小物品总价值

仍然如题,不过这一题的每一个物品的价值需要自己算出来\

其余的都是套模板的老生常谈了

class Solution {
public:
    //装满完全背包后物品的最小总价值
    int numSquares(int n) {
        vector<int>value;
        vector<int>dp (n + 1, 99999);
        dp[0] = 0;
        for (int i = 1; i <= sqrt(n); i++) {
            //这里i * i就是下标为i的物品的价值了,故这里物品下标就只需要遍历到sqrt(i)就够了
            //用<代替<=,可以有效缩短一点时间,所谓积少成多!好习惯总不会有错!
            for (int j = i * i; j < n + 1; j++) {
                dp[j] = min(dp[j], dp[j - i * i] + 1);
            }
        }
        return dp[n];
    }
};
posted @   北原春希  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示