博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode - Unique Paths
阅读量:5916 次
发布时间:2019-06-19

本文共 1386 字,大约阅读时间需要 4 分钟。


A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).

The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked 'Finish' in the diagram below).

How many possible unique paths are there?

Above is a 7 x 3 grid. How many possible unique paths are there?

Note: m and n will be at most 100.

Example 1:

Input: m = 3, n = 2Output: 3Explanation:From the top-left corner, there are a total of 3 ways to reach the bottom-right corner:1. Right -> Right -> Down2. Right -> Down -> Right3. Down -> Right -> Right

Example 2:

Input: m = 7, n = 3Output: 28 我们需要用动态规划Dynamic Programming来解,我们可以维护一个二维数组dp,其中dp[i][j]表示到当前位置不同的走法的个数,然后可以得到递推式为: dp[i][j] = dp[i - 1][j] + dp[i][j - 1]
class Solution {    public int uniquePaths(int m, int n) {        if(m < 0 || n < 0){            return -1;        }        int[][] dp = new int[m][n];        for(int i = 0; i < m; i++){            for(int j = 0; j < n; j++){                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];    }}

 

转载于:https://www.cnblogs.com/incrediblechangshuo/p/10051915.html

你可能感兴趣的文章
varnish 简介以及实用配置
查看>>
eclipse调试远程Tomact
查看>>
[Swift]快速排序算法
查看>>
四种方案解决ScrollView嵌套ListView问题
查看>>
实例讲解PAT配置
查看>>
centos下network和NetworkManager冲突的解决方法
查看>>
Mac OS上搭建Apache+PHP+MySQL开发环境的详细教程
查看>>
多线程 -线程面试题(一)
查看>>
cvLoadImage报错
查看>>
mysql
查看>>
用js实现读取出字符串中每个字符重复出现的次数?
查看>>
快排(模板)
查看>>
query.setFirstResult解析
查看>>
c#学习笔记
查看>>
你想面试运维看一下你合格了吗?
查看>>
[STM32F429-DISCO-uCosiii]3.uCOSIII 移植
查看>>
前端学PHP之文件操作
查看>>
LeetCode | Copy List with Random Pointer
查看>>
C语言博客05--指针
查看>>
Hamburger
查看>>