1. 程式人生 > >leetcode 62:不同路徑

leetcode 62:不同路徑

覺得很有可能用動態規劃,但是動態規劃用的還是不太熟,使用遞迴時間超出限制,只好再用動態規劃

用陣列表示[1,1]到達該位置有多少路徑,第一行第一列都是1,其他的cc[i][j]=cc[i][j-1]+cc[i-1][j];

int uniquePaths(int m, int n) {
    std::vector<std::vector<int>> cc;
    std::vector<int>v;
    for(int i=0;i<m;i++){
        v.clear();
        for(int j=0;j<n;j++){
            v.push_back(0);
        }
        cc.push_back(v);
    }
    for(int i=0;i<m;i++){
        cc[i][0]=1;
    }
    for(int i=0;i<n;i++){
        cc[0][i]=1;
    }
    for(int i=1;i<m;i++){
        for(int j=1;j<n;j++){
            cc[i][j]=cc[i][j-1]+cc[i-1][j];
        }
    }
    return cc[m-1][n-1];
}