博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【算法题10 不同路径问题】
阅读量:5155 次
发布时间:2019-06-13

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

1、不同路径 I:来源LeetCode62题


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

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

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

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

说明:m 和 的值均不超过 100。

class Solution:    def uniquePaths(self, m, n):        """        :type m: int        :type n: int        :rtype: int        """        aux=[[1 for i in range(n)] for i in range(m)]        for i in range(1,m):            for j in range(1,n):                aux[i][j]=aux[i][j-1]+aux[i-1][j]        return aux[-1][-1]            # return math.factorial(m+n-2)/math.factorial(m-1)/math.factorial(n-1) #方法2

 

2、不同路径 II:来源LeetCode63题

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

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

现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?

网格中的障碍物和空位置分别用 1 和 0 来表示。

说明:m 和 的值均不超过 100。

示例 1:

输入:[  [0,0,0],  [0,1,0],  [0,0,0]]输出: 2解释:3x3 网格的正中间有一个障碍物。从左上角到右下角一共有 2 条不同的路径:1. 向右 -> 向右 -> 向下 -> 向下2. 向下 -> 向下 -> 向右 -> 向右
class Solution:    def uniquePathsWithObstacles(self, obstacleGrid):        """        :type obstacleGrid: List[List[int]]        :rtype: int        """        m=len(obstacleGrid)        n=len(obstacleGrid[0])        res=[[1 for i in range(n)] for j in range(m)]        if obstacleGrid[0][0]==1:            return 0        for i in range(m):            for j in range(n):                if obstacleGrid[i][j]==1:                    res[i][j]=0                else:                    if i==0:                        res[i][j]=res[i][j-1]                    elif j==0:                        res[i][j]=res[i-1][j]                    else:                        res[i][j]=res[i-1][j]+res[i][j-1]        return res[-1][-1]

 

转载于:https://www.cnblogs.com/yanmk/p/8982036.html

你可能感兴趣的文章
Pycharm Error loading package list:Status: 403错误解决方法
查看>>
steps/train_sat.sh
查看>>
转:Linux设备树(Device Tree)机制
查看>>
iOS 组件化
查看>>
(转)Tomcat 8 安装和配置、优化
查看>>
(转)Linxu磁盘体系知识介绍及磁盘介绍
查看>>
tkinter布局
查看>>
命令ord
查看>>
Sharepoint 2013搜索服务配置总结(实战)
查看>>
博客盈利请先考虑这七点
查看>>
使用 XMLBeans 进行编程
查看>>
写接口请求类型为get或post的时,参数定义的几种方式,如何用注解(原创)--雷锋...
查看>>
【OpenJ_Bailian - 2287】Tian Ji -- The Horse Racing (贪心)
查看>>
Java网络编程--socket服务器端与客户端讲解
查看>>
List_统计输入数值的各种值
查看>>
学习笔记-KMP算法
查看>>
Timer-triggered memory-to-memory DMA transfer demonstrator
查看>>
跨域问题整理
查看>>
[Linux]文件浏览
查看>>
64位主机64位oracle下装32位客户端ODAC(NFPACS版)
查看>>