鱼C论坛

 找回密码
 立即注册
查看: 1526|回复: 0

[学习笔记] leetcode 62. Unique Paths

[复制链接]
发表于 2019-9-29 03:46:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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 = 2
Output: 3
Explanation:
From the top-left corner, there are a total of 3 ways to reach the bottom-right corner:
1. Right -> Right -> Down
2. Right -> Down -> Right
3. Down -> Right -> Right
Example 2:

Input: m = 7, n = 3
Output: 28

DP:二维数组
class Solution {
    public int uniquePaths(int m, int n) {
        
        int[][] memo = new int[n+1][m+1];
        
        for(int i = 1; i<= n; i++){
            for(int j = 1; j<= m; j++){
                memo[i][j] = 1;
            }
        }
        
        for(int i = 2; i<= n; i++){
            for(int j = 2; j<= m; j++){
                if(i == 1 && j == 1) memo[i][j] = 1;
                
                if((i == 1 && j != 1)) memo[i][j] = memo[i][j-1];
                else if( (j == 1 && i!= 1)) memo[i][j] = memo[i-1][j];
                else memo[i][j] = memo[i][j-1] + memo[i-1][j];
            }
        }
        
        return memo[n][m];
        
    }
}

DP: 优化为一维数组
class Solution {
    public int uniquePaths(int m, int n) {
        
        int[] memo = new int[m+1];
        int former = 0;
        
        for(int j = 0; j<= m; j++){
            memo[j] = 1;
        }
        
        
        for(int i = 1; i<= n; i++){
            for(int j = 1; j<= m; j++){
                
                if((i == 1 && j != 1)) memo[j] = memo[j-1];
                else if( (j == 1 && i!= 1)) former = 1;
                else {
                    memo[j] = memo[j] + former;
                    former = memo[j];
                }
            }
        }
        
        return memo[m];
        
    }
}

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-24 02:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表