dp练习2

如何分析这个题目呢,要想着当前的最优解只和前面的最优解有关

cpp 复制代码
class Solution {
public:
    int numSquares(int n) {
        vector<int> f(n + 1);
        for (int i = 1; i <= n; i++) {
            int minn = INT_MAX;
            for (int j = 1; j * j <= i; j++) {
                minn = min(minn, f[i - j * j]);
            }
            f[i] = minn + 1;
        }
        return f[n];
    }
};
cpp 复制代码
class Solution {
public:
    int uniquePaths(int m, int n) {
        int dp[105][105];
        for (int i = 0; i <= m; i++) {
            dp[0][1] = 1;
            for (int i = 1; i <= m; i++) {
                for (int j = 1; j <= n; j++) {
                    dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
                }
            }
        }
        return dp[m][n];
    }
};
相关推荐
智码未来学堂28 分钟前
探秘 C 语言算法之枚举:解锁解题新思路
c语言·数据结构·算法
Halo_tjn35 分钟前
基于封装的专项 知识点
java·前端·python·算法
春日见1 小时前
如何避免代码冲突,拉取分支
linux·人工智能·算法·机器学习·自动驾驶
副露のmagic1 小时前
更弱智的算法学习 day59
算法
u0109272712 小时前
C++中的RAII技术深入
开发语言·c++·算法
2401_832131953 小时前
模板错误消息优化
开发语言·c++·算法
金枪不摆鳍3 小时前
算法--二叉搜索树
数据结构·c++·算法
近津薪荼3 小时前
优选算法——双指针6(单调性)
c++·学习·算法
helloworldandy3 小时前
高性能图像处理库
开发语言·c++·算法
2401_836563183 小时前
C++中的枚举类高级用法
开发语言·c++·算法