63.寻找路径第二弹
来源:互联网 发布:c罗各项数据 编辑:程序博客网 时间:2024/06/03 21:16
Unique Paths II
问题描述:
Follow up for “Unique Paths”:
Now consider if some obstacles are added to the grids. How many unique paths would there be?
An obstacle and empty space is marked as 1 and 0 respectively in the grid.
For example,
There is one obstacle in the middle of a 3x3 grid as illustrated below.
[ [0,0,0], [0,1,0], [0,0,0]]
测试代码(python):
import numpy as npclass Solution(object): def uniquePathsWithObstacles(self, obstacleGrid): """ :type obstacleGrid: List[List[int]] :rtype: int """ if obstacleGrid[0][0]==1: return 0 m = len(obstacleGrid) n = len(obstacleGrid[0]) dp = np.zeros((m+1,n+1)) dp[0][1] = 1 for i in range(1,m+1): for j in range(1,n+1): if obstacleGrid[i-1][j-1]==1: dp[i][j] = 0 continue dp[i][j] = dp[i-1][j]+dp[i][j-1] return int(dp[m][n])
性能:
测试代码(c++):
class Solution {public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { if(obstacleGrid[0][0]==1) return 0; int m = obstacleGrid.size(); int n = obstacleGrid[0].size(); vector<vector<int>> dp(m+1,vector<int>(n+1,0)); dp[0][1] = 1; for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { if(obstacleGrid[i-1][j-1]==1) { dp[i][j] = 0; continue; } dp[i][j] = dp[i-1][j]+dp[i][j-1]; } } return dp[m][n]; }};
性能:
阅读全文
1 0
- 63.寻找路径第二弹
- 寻找鞍钢第二!
- 寻找第二小元素
- 寻找第二小元素
- 迷宫寻找路径
- ClassPathXmlApplicationContext()寻找文件路径
- OC_路径寻找
- 寻找最短路径
- 寻找路径数目
- 7.5路径寻找问题
- 寻找递减最长路径
- 路径寻找问题
- 62.寻找路径
- java寻找迷宫路径
- DFS寻找路径~
- 寻找数组中的第二大数
- 寻找数组中的第二大数
- 寻找数组中的第二大数
- Objective
- C语言四个char型组成int型,和1个int型分成4个char型的方法
- C++ Virtual详解
- hashmap的原理
- QT开发应用程序的欢迎界面
- 63.寻找路径第二弹
- 都道府県添加的sql
- 博客文章详情页更新公告
- 动态规划总结与题目分类
- 生成验证码图片
- EF连接mysql数据库生成实体模型,出现报错无法生成模型:“System.Data.StrongTypingException: 表“TableDetails”中列“IsPrimaryKey”的值为
- 调用系统相册
- Spring学习第一天
- B+树