Unique Paths

来源:互联网 发布:电脑windows激活不了 编辑:程序博客网 时间:2024/06/03 16:39
class Solution {public:    int uniquePaths(int m, int n) {        //递归 超时        if(m==1 && n==1) return 1;        if(m<1 || n<1) return 0;        return uniquePaths(m,n-1)+uniquePaths(m-1,n);    }};
class Solution {public:    int uniquePaths(int m, int n) {if(m<1 || n<1) return 0;if(m==1 && n==1) return 1;int *matrix=new int[m*n];memset(matrix,0,sizeof(int)*m*n);matrix[0]=1;int i=0,j=0;//i横坐标,j纵坐标for(int sum=1;sum<=m+n-2;sum++){if(sum<=m-1) i=sum;else  i=m-1;j=sum-i;while(i>=0 && i<=m-1 && j>=0 && j<=n-1){int lhs=(j-1<0)?0:matrix[i*n+j-1];int rhs=(i-1<0)?0:matrix[(i-1)*n+j];matrix[i*n+j]=lhs+rhs;i--;j++;}}return matrix[m*n-1];    }};


0 0