leet_code_62.不同路径(动态规划)

简介: leet_code_62.不同路径(动态规划)

题目信息


一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。

问总共有多少条不同的路径?


20200827100224530.png

例如,上图是一个7 x 3 的网格。有多少可能的路径?

示例1:


输入: m = 3, n = 2
输出: 3
解释:
从左上角开始,总共有 3 条路径可以到达右下角。
1. 向右 -> 向右 -> 向下
2. 向右 -> 向下 -> 向右
3. 向下 -> 向右 -> 向右


示例2:

输入: m = 7, n = 3
输出: 28


提示:

1 <= m, n <= 100

题目数据保证答案小于等于 2 * 10 ^ 9


代码实现


import java.util.Arrays;
/**
 * @author ZhangFZ
 * @date 2020/4/30 14:31
 **/
public class leet_code_62不同路径 {
    /**
     * 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。
     *
     * 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。
     *
     * 问总共有多少条不同的路径?
     *
     * 输入: m = 3, n = 2
     * 输出: 3
     * 解释:
     * 从左上角开始,总共有 3 条路径可以到达右下角。
     * 1. 向右 -> 向右 -> 向下
     * 2. 向右 -> 向下 -> 向右
     * 3. 向下 -> 向右 -> 向右
     */
    public static void main(String[] args) {
        System.out.println(uniquePaths(3,2));
    }
    private static int uniquePaths(int m, int n) {
        int [] array = new int[n];
        Arrays.fill(array, 1);
        for(int i = 1; i < m; i++){
            for(int j = 1; j < n; j ++){
                array[j] += array[j-1];
            }
        }
        return array[n-1];
    }
}


目录
相关文章
|
10月前
|
C++
E. Generate a String(典:贪心+动态规划)
E. Generate a String(典:贪心+动态规划)
|
编译器
【leetcode报错】 leetcode格式问题解决:error: stray ‘\302’ in program [solution.c]
【leetcode报错】 leetcode格式问题解决:error: stray ‘\302’ in program [solution.c]
254 0
|
机器学习/深度学习 算法
CF1029A Many Equal Substrings(kmp!!!!最通俗易懂的文章模板)
CF1029A Many Equal Substrings(kmp!!!!最通俗易懂的文章模板)
66 0
|
机器学习/深度学习 人工智能 算法
CF1550A Find The Array(贪心算法)
CF1550A Find The Array(贪心算法)
46 0
leet_code_17.电话号码的字母组合(递归)
leet_code_17.电话号码的字母组合(递归)
79 0
|
算法
leet_code_202.快乐数(快慢指针)
leet_code_202.快乐数(快慢指针)
84 0
LeetCode contest 190 5418. 二叉树中的伪回文路径 Pseudo-Palindromic Paths in a Binary Tree
LeetCode contest 190 5418. 二叉树中的伪回文路径 Pseudo-Palindromic Paths in a Binary Tree
zip操作符的error处理
熟悉rxjava的同学肯定对操作符不会陌生,比如我们使用map操作符处理数据,使用zip操作符合并多个请求,这里演示下zip操作符的对error情况的处理。 比如说我们同时请求了两个接口,在两个接口都响应的情况下才会展示数据,这里我们使用zip操作符来实现。
|
人工智能 BI
CF1398C. Good Subarrays(思维 前缀和)
CF1398C. Good Subarrays(思维 前缀和)
121 0
|
算法 Go C++
UPC Go Home(贪心 || 前缀和+二分)(STL二分函数的使用)
UPC Go Home(贪心 || 前缀和+二分)(STL二分函数的使用)
100 0