• 63-不同路径2


     

     思路:和上一题相比,多了障碍物,思路还是一样的,先把x==0,y==0时的res赋值为1,假如遇到给出的数组的这两行里有障碍物,从障碍物开始不继续赋值为1(初始化之后的数组,默认每个数为0)

    之后。。。还是老样子,obstacleGrid[i][j]==1时,跳过,看代码吧,没啥难度我感觉。。。

    class Solution {
        public int uniquePathsWithObstacles(int[][] obstacleGrid) {
            int m=obstacleGrid.length;
            int n=obstacleGrid[0].length;
             int[][] res=new int[m][n];//每一个数是(m,n)这个节点的路径数,x==0,y==0这两行,只有一条路
            for(int i=0;i<n;i++)
            {
                if(obstacleGrid[0][i]!=1)
                     res[0][i]=1;
                else
                {
                    break;
                }
            }
            for(int j=0;j<m;j++)
            {
                if(obstacleGrid[j][0]!=1)
                res[j][0]=1;
                else
                break;
            }
            for(int i=1;i<m;i++)
            {
                for(int j=1;j<n;j++)
                {
                    if(obstacleGrid[i][j]==1)
                    {
                        continue;
                    }
                    res[i][j]=res[i-1][j]+res[i][j-1];
                }
            }
            return res[m-1][n-1];
        }
    }
    

      

  • 相关阅读:
    单例模式
    堆排序--leetcode 215
    二叉树--路径问题
    二叉树--前中后序两两结合构建二叉树
    CglibProxy
    JdkProxy
    git config --global http.sslVerify false
    PdfUtil
    idea中创建的文件类型无法识别
    sql优化
  • 原文地址:https://www.cnblogs.com/lzh1043060917/p/12800519.html
Copyright © 2020-2023  润新知