很传统动态规划,如果说转变成一次走两个那就改变参数,

动态规划的一开始一般是

int [] [] dp =new int [m] [n];

往下是x轴,和y轴,

然后因为你一开始在1,1的位置i=1,j=1并且dp中dp【i-1】【j】+dp【i】【j-1】且return

dp【m-1】【n-1】; 

class Solution {

    public int uniquePaths(int m, int n) {

   int [][] dp=new int [m][n];

   for(int i=0;i<m;i++){

    dp[i][0]=1;

   }

   for(int j=0;j<n;j++){

   dp[0][j]=1;

   }

   for(int i=1;i<m;i++){

    for(int j=1;j<n;j++){

        dp[i][j]=dp[i-1][j]+dp[i][j-1];

    }

   }

return dp[m-1][n-1];

    }

}

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐