首页 > 其他 > 详细

LeetCode – Refresh – Unique Paths II

时间:2015-03-25 06:29:08      阅读:116      评论:0      收藏:0      [点我收藏+]

We can use a matrix do the dp. Or we can use an array to record it.

But when we encounter 1, we set it to be 0.

 1 class Solution {
 2 public:
 3     int uniquePathsWithObstacles(vector<vector<int> > &obstacleGrid) {
 4         if (obstacleGrid.size() == 0) return 0;
 5         int n = obstacleGrid.size(), m = obstacleGrid[0].size();
 6         vector<int> dp(n, 1);
 7         dp[0] = obstacleGrid[0][0] == 0 ? 1 : 0;
 8         for (int i = 1; i < n; i++) {
 9             if (obstacleGrid[i][0] == 0) dp[i] = dp[i-1];
10             else dp[i] = 0;
11         }
12         for (int i = 1; i < m; i++) {
13             for (int j = 0; j < n; j++) {
14                 if (obstacleGrid[j][i] == 1) dp[j] = 0;
15                 else if (j == 0) continue;
16                 else {
17                     dp[j] += dp[j-1];
18                 }
19             }
20         }
21         return dp[n-1];
22     }
23 };

 

LeetCode – Refresh – Unique Paths II

原文:http://www.cnblogs.com/shuashuashua/p/4364599.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!