zoukankan      html  css  js  c++  java
  • leetcode118 罗辉三角(Easy)

    题目来源: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;
        }
    };
    
  • 相关阅读:
    好元素(good)
    三条线 (Standard IO)
    计数排序-自然顺序Comparable
    贪心算法之田忌赛马
    bzoj3400
    bzoj1704
    CF Round #456 (Div. 2)
    LA3029
    bzoj3000
    bzoj3623
  • 原文地址:https://www.cnblogs.com/yjcoding/p/13284558.html
Copyright © 2011-2022 走看看