杨辉三角的第 n 行

因为每一行都是根据其上一行推出来的,所以说我只需要上一行的信息。

vector<int> getRow(int rowIndex) {
    if (rowIndex < 0){
        return vector<int>();
    }
    vector<int> result(rowIndex + 1);
    result[0] = 1;
    result[rowIndex] = 1;
    for (int row = 0; row < rowIndex; ++row){
        auto lastRow = result;
        for (size_t i = 1; i < rowIndex; ++i){
            result[i] = lastRow[i - 1] + lastRow[i];
        }
    }
    return result;
}

 

posted @ 2015-09-04 01:14  wu_overflow  阅读(281)  评论(0编辑  收藏  举报