119. Pascal's Triangle II

1,题目要求
119. Pascal's Triangle II_第1张图片
这里写图片描述
求出给定行的杨辉三角值。

2,题目思路
该题目可以定义一个二维向量,然后直接套用杨辉三角的计算过程,最后返回对应的向量即可。
还有一种节省空间的办法,因为题目只要求给出给定行的数值,因此可以直接定义一个一维的向量,长度和所要返回的向量长度是相等的。所有的计算操作在该向量上完成即可,最后的到的结果就是所要返回的结果。

3,程序源码
方法1:

class Solution {
public:
    vector<int> getRow(int rowIndex) {
        int rowNum = rowIndex+1;
        vector<vector<int>> num(rowNum);
        for(int i=0;ifor(int j = 0;j<=i;j++)
            {
                if(j == 0 || j == i)
                    num[i].push_back(1);
                else
                    num[i].push_back(num[i-1][j-1] + num[i-1][j]);
            }
        return num[rowIndex];
    }
};

方法2:

class Solution {
public:
    vector<int> getRow(int rowIndex) {
        int rowNum = rowIndex+1;
        vector<int>res (rowNum);
        res[0] = 1;
        for(int i=1;ifor(int j = i;j>=1;j--)
            {
                res[j] = res[j] + res[j-1];
            }
        return res;
    }
};

你可能感兴趣的:(C++OJ,LeetCode,Self-Culture)