不同路径的数目

一个机器人在m×n大小的地图的左上角(起点)。
机器人每次可以向下或向右移动。机器人要到达地图的右下角(终点)。
可以有多少种不同的路径从起点走到终点?


image.png

思路:首先我们在左上角第一个格子的时候,有两种行走方式:
1、向右走,相当于后面在一个(n−1)∗m的矩阵中查找从左上角到右下角的不同路径数
2、向下走,相当于后面在一个n∗(m−1)的矩阵中查找从左上角到右下角不同的路径数。
3、而(n−1)∗m的矩阵与n∗(m−1)的矩阵都是n∗m矩阵的子问题,因此可以使用递归。

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param cost int整型一维数组 
     * @return int整型
     */
    public int minCostClimbingStairs (int[] cost) {
        // write code here
        int[] dp = new int[cost.length+1];
        for(int i = 2;i<=cost.length;i++){
            dp[i] = Math.min(dp[i-2]+cost[i-2],dp[i-1]+cost[i-1]);
        }
        return dp[cost.length];
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目 难度:★★★★☆类型:数学方法:动态规划 传送门 一个机器人位于一个 m x n 网格的左上角 (起始点在下...
    玖月晴阅读 304评论 0 0
  • 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向...
    刻苦驴哝阅读 177评论 0 0
  • 【Description】 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )...
    Chiduru阅读 370评论 0 0
  • 不同路径[https://leetcode-cn.com/problems/unique-paths/] 一个机器...
    wyof阅读 215评论 0 0
  • 一个机器人位于一个 *m x n *网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者...
    genggejianyi阅读 119评论 0 0