不同路径|| -- dp

思路:

看到这道题,和上一道题很相似,但是需要用代码实现,如何记录从左上角到右下角有几条路径。

首先我们思考:从左上角到右下角需要满足什么条件,例如一个m =3,n = 3的矩阵,在 左上角走到右下角需要向右移动两步和向下移动两步。

那么dpij 代表什么,从左上角走到当前位置的路径数量。比如dp12就是走到1,2这个位置上有多少条路径。

那么就开始写代码:

复制代码
class Solution {
    public int uniquePaths(int m, int n) {
        int [][] dp = new int[m][n];
        dp[0][0] = 1;

        for(int i = 0;i < m ;i ++){
            for(int j = 0;j < n;j ++){
                if(i == 0 && j == 0){
                    dp[i][j] = 1;
                }else if(i == 0){
                     dp[i][j] = 1;
                }else if(j == 0){
                     dp[i][j] = 1;
                }else{
                     dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
                }
            }
        }
        return dp[m - 1][n - 1];


    }
}
相关推荐
辰烨chenye9 小时前
LeetCode Hot 100 题解 · 哈希篇
算法·leetcode·哈希算法
罗西的思考9 小时前
DreamZero 与 DreamDojo:世界模型与策略的分层协同综合分析与对比
人工智能·算法·机器学习
玖玥拾10 小时前
LeetCode 219 存在重复元素 II
算法·leetcode·哈希算法·散列表
知无不研11 小时前
c语言中循环的介绍与简单应用
c语言·开发语言·算法·循环·for·while
a1879272183112 小时前
【算法】动态规划第四篇:背包收官——min 哨兵、计数世界与组合排列分水岭
算法·leetcode·动态规划·dp·01背包·算法讲解·决策合并
2601_9622974812 小时前
在python3中、下列输出变量a的正确写法是_2020超星大数据Python免费答案
数据结构·python·算法·编程·字符串操作
辰烨chenye12 小时前
LeetCode Hot 100 题解 · 子串篇
算法·leetcode·职场和发展
辰烨chenye13 小时前
LeetCode Hot 100 题解 · 堆篇
java·算法·leetcode
手写码匠13 小时前
华为云Flexus+DeepSeek征文|DeepSeek 应用监控告警体系实战:从“用户投诉才知道“到“故障前就发现“
人工智能·深度学习·算法·aigc