不同路径|| -- 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];


    }
}
相关推荐
至乐活着17 小时前
深入解析跳表SkipList:原理、实现与性能优化实战
数据结构·算法·跳表·skiplist·java实现
Jerry18 小时前
LeetCode 383. 赎金信
算法
ai产品老杨18 小时前
H264 H265视频分析常见问题和排查清单
人工智能·算法·音视频
Jerry18 小时前
LeetCode 454. 四数相加 II
算法
可编程芯片开发19 小时前
基于CPS-SPWM链式STATCOM系统在电压不平衡环境下控制策略的simulink建模与仿真
算法
Jerry19 小时前
LeetCode 202. 快乐数
算法
hans汉斯20 小时前
基于改进交叉熵损失函数与Transformer的心电信号高风险分类研究
功能测试·深度学习·算法·yolo·目标检测·分类·transformer
Jerry20 小时前
LeetCode 349. 两个数组的交集
算法
YuK.W21 小时前
Leetcode100: 70.爬楼梯、118.杨辉三角、198.打家劫舍
java·算法·leetcode
随意起个昵称21 小时前
状压dp-基础题目2([USACO12MAR] Cows in a Skyscraper G)
c++·算法·动态规划