leetCode118.Pascal'sTriangle数组(杨辉三角)

118. Pascal's Triangle

建网站原本是网站策划师、网络程序员、网页设计师等,应用各种网络程序开发技术和网页设计技术配合操作的协同工作。创新互联专业提供网站设计制作、网站建设,网页设计,网站制作(企业站、成都响应式网站建设公司、电商门户网站)等服务,从网站深度策划、搜索引擎友好度优化到用户体验的提升,我们力求做到极致!

Given numRows, generate the first numRows of Pascal's triangle.

For example, given numRows = 5,
Return

[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]

题目大意:

输入行数,输出如上图所示的数组。(杨辉三角)

思路:

用双vector来处理当前行和下一行。

代码如下:

class Solution {
public:
    vector> generate(int numRows) {
        
        vector> result;
        if(numRows == 0)
            return result;
        vector curVec;
        vector nextVec;
        
        for(int i = 0;i < numRows; i++)
        {
            for(int j = 0;j<=i;j++)
            {
                if(j == 0)
                    nextVec.push_back(1);
                else
                {
                    if(j >= curVec.size())
                        nextVec.push_back(curVec[j-1]);
                    else
                        nextVec.push_back(curVec[j] + curVec[j-1]);
                }
            }
            result.push_back(nextVec);
            curVec.swap(nextVec);
            nextVec.clear();
        }
        return result;
    }
};

2016-08-12 09:34:50


分享文章:leetCode118.Pascal'sTriangle数组(杨辉三角)
分享URL:http://ybzwz.com/article/posjsd.html