码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode118 罗辉三角(Easy)

时间:2020-07-11 19:39:05      阅读:55      评论:0      收藏:0      [点我收藏+]

标签:push   杨辉三角   return   https   ==   ack   ble   href   int   

题目来源:leetcode118 罗辉三角

题目描述:

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。

示例:

输入: 5
输出:
[
[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) {
        if(numRows==0) return {};
        if(numRows==1) return {{1}};
        if(numRows==2) return {{1},{1,1}};
        vector<vector<int>> ans;
        ans.push_back({1});
        ans.push_back({1,1});
        for(int i=2;i<numRows;i++){
            vector<int> temp(i+1,1);
            for(int j=1;j<=i-1;j++){
                temp[j]=ans[i-1][j-1]+ans[i-1][j];
            }
            ans.push_back(temp);
        }
        return ans;
    }
};

leetcode118 罗辉三角(Easy)

标签:push   杨辉三角   return   https   ==   ack   ble   href   int   

原文地址:https://www.cnblogs.com/yjcoding/p/13284558.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!