leetcode_118 Pascal Triangle

来源:互联网 发布:19级研究所升级数据 编辑:程序博客网 时间:2024/04/30 23:58

题目分析:

  • 给定整数n,生成杨辉三角的前n行

解题思路:

  • 依据杨辉三角性质求解

    杨辉三角性质:

    1)每行第一个元素和最后一个元素值为1;

    2)每行非第一个和最后一个元素值为:tri[i][j] = tri[i-1][j-1] + tri[i-1][j]

  • 实现程序

    class Solution{    public:        vector< vector<int> > generate(int numRows)        {            vector< vector<int> > result;            // 特殊情况处理             if (numRows == 0)                return result;            int i = 0;             int j = 0;            for (int i = 0; i < numRows; i++)            {                vector<int> temp;                for (int j = 0; j < i + 1; j++)                {                    // 放置每行的第一个元素和最后一个元素                     if (j == 0 || j == i)                        temp.push_back(1);                    // 依据杨辉三角性质tri[i][j] = tri[i-1][j-1]存放每行的其他数据                     else                        temp.push_back(result[i - 1][j - 1] + result[i - 1][j]);                  }                // 存放一行元素数据                 result.push_back(temp);             }            // 返回最终结果             return result;         }};
0 0
原创粉丝点击