Unique Path II

来源:互联网 发布:易语言编程教学 编辑:程序博客网 时间:2024/05/18 01:01

同Leetcode No.64 Minimum Path一样,可以使用滚动矩阵,来减小Space Complexity。

public class Solution {    public int uniquePathsWithObstacles(int[][] obstacleGrid) {        if (obstacleGrid == null || obstacleGrid.length == 0 || obstacleGrid.length == 0) {            return -1;        }                int row = obstacleGrid.length;        int col = obstacleGrid[0].length;                int[] path = new int[col];                for (int j = 0; j < col; j++) {            if (obstacleGrid[0][j] == 0) {                path[j] = 1;            } else {                break;            }        }                for (int i = 1; i < row; i++) {            if (obstacleGrid[i][0] == 1) {                path[0] = 0;            }            for (int j = 1; j < col; j++) {                if (obstacleGrid[i][j] == 0) {                    path[j] += path[j - 1];                } else {                    path[j] = 0;                }            }        }                return path[col - 1];    }}


0 0
原创粉丝点击