• leetcode63 Unique Paths II


    Follow up for "Unique Paths":

    Now consider if some obstacles are added to the grids. How many unique paths would there be?

    An obstacle and empty space is marked as 1 and 0 respectively in the grid.

    For example,

    There is one obstacle in the middle of a 3x3 grid as illustrated below.

    [
      [0,0,0],
      [0,1,0],
      [0,0,0]
    ]
    

    The total number of unique paths is 2.

    Note: m and n will be at most 100.

     1 class Solution {
     2 public:
     3     int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {
     4         int ans=0;
     5         int m=obstacleGrid.size();
     6         if(!m)
     7             return ans;
     8         int n=obstacleGrid[0].size();
     9         
    10         vector<int> jlist(n,0);
    11         for(int i=n-1;i>=0;i--)
    12         {
    13             if(obstacleGrid[m-1][i]==1)
    14                 break;
    15             else
    16                 jlist[i]=1;
    17         }
    18         
    19         for(int i=m-2;i>=0;i--)
    20         {
    21             for(int j=n-1;j>=0;j--)
    22             {
    23                 if(j==n-1)
    24                 {
    25                     if(obstacleGrid[i][j]==1)
    26                         jlist[j]=0;
    27                 }
    28                 else
    29                 {
    30                 
    31                 if(obstacleGrid[i][j]==1)
    32                     jlist[j]=0;
    33                 else
    34                     jlist[j]+=jlist[j+1];
    35                     
    36                 }
    37                 
    38                 
    39             }
    40         }
    41         return jlist[0];
    42     }
    43 };
    View Code
  • 相关阅读:
    做汉堡(续)
    做汉堡
    <构建之法>3-5章感想
    《构建之法》1-2章感想
    四则运算界面练习
    快速排序
    冒泡算法(思路1)
    希尔排序
    KMP算法
    1、基础算法题
  • 原文地址:https://www.cnblogs.com/jsir2016bky/p/5105885.html
Copyright © 2020-2023  润新知