代码随想录算法训练营第39天| 62.不同路径 63. 不同路径 II

  • 今日学习的文章链接,或者视频链接

第九章 动态规划part02

  • 自己看到题目的第一想法

  • 看完代码随想录之后的想法

62:

自底向上:

class Solution {
public:
    int uniquePaths(int m, int n) {
        vector> dp(m,vector(n,1));
        //for(int i = 0;i

自顶向下:

class Solution {
public:
    unordered_map map;
    int dp(int m,int n){
        if (m==1 || n==1) return 1;
        if (map.find(to_string(m)+"#"+to_string(n))!=map.end()){
            return map[to_string(m)+"#"+to_string(n)];
        }else{
            map[to_string(m)+"#"+to_string(n)] = dp(m-1,n)+dp(m,n-1);
            return map[to_string(m)+"#"+to_string(n)];
        }
    }
    int uniquePaths(int m, int n) {
        return dp(m,n);
    }
};

63

class Solution {
public:
    int uniquePathsWithObstacles(vector>& obstacleGrid) {
        int m = obstacleGrid.size();
        int n = obstacleGrid[0].size();
        vector> dp(m,vector(n,0));
        for(int i = 0;i
  • 自己实现过程中遇到哪些困难

  • 今日收获,记录一下自己的学习时长

你可能感兴趣的:(算法)