LeetCode 20200205(異なるパスII)

II 1.異なる経路
の最初の行の最初の列後者のために、すなわち障害をリセットはゼロに設定され、
現在はゼロに障害物がある場合、中間要素の中央に設けられています

異なるパスの溶液の残りの部分と同様に

class Solution {
public:
    int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {
        if(obstacleGrid.size()==0 || obstacleGrid[0].size()==0) return 0;
        int m=obstacleGrid.size();
        int n=obstacleGrid[0].size();
        vector<vector<int>> info(m,vector<int>(n));
        for(int i=0;i<m;++i)
        {
            if(obstacleGrid[i][0]==1)
            {
                for(int j=i;j<m;j++)
                {
                    info[j][0]=0;
                }
                break;
            }
            else 
                info[i][0]=1;
        }
        for(int i=0;i<n;++i)
        {
            if(obstacleGrid[0][i]==1)
            {
                for(int j=i;j<n;++j)
                {
                    info[0][j]=0;
                }
                break;
            }
            else
                info[0][i]=1;
        }
        for(int i=1;i<m;++i)
        {
            for(int j=1;j<n;++j)
            {
                if(obstacleGrid[i][j]==1)
                {
                    info[i][j]=0;
                }
                else
                {
                    info[i][j]=info[i-1][j]+info[i][j-1];
                }
            }
        }
        return info[m-1][n-1];
    }
};
公開された44元の記事 ウォンの賞賛9 ビュー3330

おすすめ

転載: blog.csdn.net/puying1/article/details/104209951