63. Unique Paths II

和Unique paths是一样的

 1     public int uniquePathsWithObstacles(int[][] obstacleGrid) {
 2         if(obstacleGrid == null || obstacleGrid.length == 0 || obstacleGrid[0].length == 0) {
 3             return 0;
 4         }   
 5         int len = obstacleGrid[0].length;
 6         int[] res = new int[len];
 7         res[0] = 1;
 8         for(int i = 0; i < obstacleGrid.length; i++) {
 9             for(int j = 0; j < len; j++) {
10                 if(obstacleGrid[i][j] == 1) {
11                     res[j] = 0;
12                 } else {
13                     if(j > 0) {
14                         res[j] += res[j-1];
15                     }
16                 }
17             }
18         }
19         return res[len-1];
20     }

注意的是:

1.内外循坏都要从0开始,因为第一行也可能不可以走,并不能像上一题一样初始化成1

2. 第13行需要检查一下j是不是第一个

没啦!

posted @ 2016-03-10 00:04  warmland  阅读(105)  评论(0编辑  收藏  举报