---
# System prepended metadata

title: Leetcode 63. Unique Paths II
tags: [Leetcode(C++)]

---

# Leetcode 63. Unique Paths II
###### tags: `Leetcode(C++)`

題目 : https://leetcode.com/problems/unique-paths-ii/ 。

想法 : 

    跟62題差不多，多了一個障礙物判斷而已。
    
    if(沒有遇到障礙物的話)
        path[i][j] = path[i-1][j] + path[i][j-1];
    
時間複雜度 : 

程式碼 :

```
class Solution {
public:
    int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {
        int dp[110][110]={0}, m=obstacleGrid.size(), n=obstacleGrid[0].size();
        dp[0][0] = (obstacleGrid[0][0] == 1 ? 0 : 1);
        
        for(int i=0 ; i<m ; i++){
            for(int j=0 ; j<n ; j++){
                if(i-1 >= 0 && obstacleGrid[i][j] == 0) dp[i][j] += dp[i-1][j];
                if(j-1 >= 0 && obstacleGrid[i][j] == 0) dp[i][j] += dp[i][j-1];
            }
        }
        
        return dp[m-1][n-1];
    }
};
```