『LeetCode|每日一题』---->不同路径

目录

每日一句

 作者简介

『LeetCode|每日一题』不同路径

1.每日一题

2.解题思路 

        2.1 思路分析

        2.2 核心代码 

        2.3 全部代码

        2.4 运行结果


每日一句

勿在别人心中修行自己,勿在自己心中强求别人

 作者简介

🏡个人主页:XiaoChen_Android

📚学习专栏:力扣专栏

🕒发布日期:2022/8/14

『LeetCode|每日一题』不同路径

1.每日一题

原文链接--->点我

2.解题思路 

        2.1 思路分析

此题为一道很典型的动态规划题,具有重复子问题,关键是找出那个转化关系

        S1:据题分析,每次只能向下或者向右移动,所以任意一个位置,它一定是由上方或者左边的位置移动过来;

        S2:分析到此,会有一个问题,左边界和上边界只能由一个方向得到,所以得特殊处理,只有一种走法所以赋值为1;

        S3:接下来是中间区域,它们是由上方或者左边的位置移动到,所以matrx[i][j] = matrx[i - 1][j] + matrx[i][j - 1];

        S4:最后右下角的那个位置的值就是移动方法的数量;

        2.2 核心代码 

                        matrx[i][j] = matrx[i - 1][j] + matrx[i][j - 1]

        for(int i = 1 ; i < m ; i ++){
            for(int j = 1 ; j < n ; j ++){
                matrx[i][j] = matrx[i - 1][j] + matrx[i][j - 1];
            }
        }

        2.3 全部代码

class Solution {
    public int uniquePaths(int m, int n) {
        int[][] matrx = new int[m][n];
        for(int i = 0; i < m ; i ++){
            matrx[i][0] = 1;
        }
        for(int i = 0 ; i < n ; i ++){
            matrx[0][i] = 1;
        }
        for(int i = 1 ; i < m ; i ++){
            for(int j = 1 ; j < n ; j ++){
                matrx[i][j] = matrx[i - 1][j] + matrx[i][j - 1];
            }
        }
        return matrx[m - 1][n - 1];
    }
}

        2.4 运行结果


🍁 类似题目推荐:

1.剑指offer专项练习 

2.算法专项练习

3.推荐一个学习网站:LeetCode,算法的提升在于日积月累,只有每天练习才能保持良好的状态

  如果文章对你有帮助就支持一下噢,新手尝试,不好的地方请各位大佬多多指教! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值