LeetCode *** 118. Pascal's Triangle

本文详细介绍了如何使用C++生成指定行数的帕斯卡三角形,并提供了代码实现和解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:

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]
]


分析:

感觉也没啥分析的。。大概就是在前面和后面添一个1,然后从前面一排的数据中加即可。。。。


代码:

class Solution {
public:
    vector<vector<int>> generate(int numRows) {
         
         vector<vector<int>> res;
         vector<int>pre,now;
         
         
         if(numRows>0){
             
             for(int row=1;row<=numRows;++row){
                
                 now.insert(now.begin(),1);
                 if(row!=1)
                    now.insert(now.end(),1);
                 
                 for(int count=1;count<row-1;++count){
                     int elem=pre[count-1]+pre[count];
                     now.insert(now.end()-1,elem);
                 }
                 res.insert(res.end(),now);
                 pre=now;
                 now.erase(now.begin(),now.end());
             }
             
         }
         
         return res;
    }
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值