首页 > 其他 > 详细

[LeetCode]Unique Paths II

时间:2015-12-04 18:02:56      阅读:347      评论:0      收藏:0      [点我收藏+]
public class Solution {
    public int uniquePathsWithObstacles(int[][] obstacleGrid) {
        int row = obstacleGrid.length;
        if (row == 0) {
            return 0;
        }
        int col = obstacleGrid[0].length;
        if (obstacleGrid[0][0] == 1) {
            return 0;
        }
        int[][] record = new int[row][col];
        record[0][0] = 1;
        for (int r = 1; r < row; r++) {
            if (obstacleGrid[r][0] == 1 || record[r - 1][0] == 0) {
            } else {
                record[r][0] = record[r - 1][0];
            }
        }
        for (int c = 1; c < col; c++) {
            if (obstacleGrid[0][c] == 1 || record[0][c - 1] == 0) {
            } else {
                record[0][c] = record[0][c - 1];
            }
        }
        for (int r = 1; r < row; r++) {
            for (int c = 1; c < col; c++) {
                if (obstacleGrid[r][c] == 1) {
                    record[r][c] = 0;
                } else {
                    record[r][c] = record[r - 1][c] + record[r][c - 1];
                }
            }
        }
        return record[row - 1][col - 1];
    }
}

 

[LeetCode]Unique Paths II

原文:http://www.cnblogs.com/vision-love-programming/p/5019735.html

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