算法-动态数组-62.不同路径

一、题目

二、思路解析

1.思路:

对于找到目的地它的来源主要来源于目的地的++上一格++ 和目的地的++左一格++

2.常用方法:

3.核心逻辑:

1.处理边界:

a.只向右移动,至始至终只有一条路径

java 复制代码
for(int i=0;i<m;i++){

    dp[i][0]=1;
}

b.只向下移动,至始至终只有一条路径

java 复制代码
for(int i=0;i<m;i++){

    dp[i][0]=1;
}

2.一般情况:对于找到目的地它的来源主要来源于目的地的++上一格++ 和目的地的++左一格++

java 复制代码
for(int i=1;i<m;i++){
    for(int j=1;i<n;j++){
        dp[i][j]=dp[i-1][j]+dp[i][j-1];
}
}

三、代码实现

java 复制代码
class Solution {
    public int uniquePaths(int m, int n) {
        int[][]dp=new int[m][n];
       for (int i = 0; i < m; i++) {
            dp[i][0] = 1;
        }
        for (int i = 0; i < n; i++) {
            dp[0][i] = 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-1][n-1];
    }
}
相关推荐
Controller-Inversion5 小时前
23. 合并 K 个升序链表
数据结构·链表
拉拉拉拉拉拉拉马5 小时前
Windsurf 最新版进阶讲解:从 Cascade 到 Devin Local,重新理解 AI 编程工作流
人工智能·算法
Mr_pyx5 小时前
面试题记录
jvm·数据结构·算法·spring·mybatis
zzzsde5 小时前
【Linux】线程同步和互斥(1):线程互斥与加锁实现
linux·运维·服务器·开发语言·算法
努力努力再努力wz5 小时前
【C++高阶数据结构系列】:时间轮定时器详解:原理分析与代码实现,带你从零手撕时间轮!(附时间轮的实现源码)
c语言·开发语言·数据结构·c++·qt·算法·ui
mmz12076 小时前
广搜题目练习(c++)
c++·算法
iiiiyu6 小时前
⾯向对象和集合编程题
java·大数据·开发语言·数据结构·编程语言
YuanDaima20486 小时前
贪心算法基础原理与题目说明
数据结构·人工智能·python·算法·贪心算法·手撕代码
NashSKY6 小时前
波束成形MVDR (最小方差无失真响应) 算法数学原理解析
算法·矩阵
人道领域6 小时前
【LeetCode刷题日记】513.二叉树左下角值的三种解法:从常规BFS到DFS的优雅之旅
数据结构·算法·leetcode·深度优先·广度优先