代码实现:
int uniquePathsWithObstacles(int **obstacleGrid, int obstacleGridSize, int *obstacleGridColSize) {int x = obstacleGridSize, y = obstacleGridColSize[0];int dp[x][y];memset(dp, 0, sizeof(int) * x * y);for (int j = 0; j < y && obstacleGrid[0][j] == 0; j++) {dp[0][j] = 1;}for (int i = 0; i < x && obstacleGrid[i][0] == 0; i++) {dp[i][0] = 1;}for (int i = 1; i < x; i++) {for (int j = 1; j < y; j++) {if (obstacleGrid[i][j] == 1) {continue;}dp[i][j] = dp[i - 1][j] + dp[i][j - 1];}}return dp[x - 1][y - 1]; }