zoukankan      html  css  js  c++  java
  • 118. 杨辉三角

    在杨辉三角中,每个数是它左上方和右上方的数的和。

    示例:

    输入: 5
    输出:
    [
      [1],
      [1,1],
     [1,2,1],
     [1,3,3,1],
    [1,4,6,4,1]
    ]

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/pascals-triangle
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    用动态规划的思想组建模型

    dp[i][j] = dp[i-1][j -1]+dp[i-1][j]

    即可得出解题思路

    std::vector<std::vector<int>> CLeetCode_Solution::generate(int numRows)
    {
        vector<std::vector<int>> ret;
        if (numRows == 0) return ret;
    
        for (int i = 0; i < numRows; i++)
        {
            //将第二层vec全部初始化为1,避开处理边界的1
            vector<int> ret_sec(i + 1, 1);
            //从1开始处理,并且不处理最后一个
            for (int j=1; j < i;++j)
            {
                ret_sec[j] = ret[ret.size() - 1][j - 1] + ret[ret.size() - 1][j];
            }
            ret.push_back(ret_sec);
        }
        return ret;
    }
  • 相关阅读:
    内部类
    多重继承关系初始化顺序及初始化
    String
    Error
    算法:插入排序
    算法:冒泡排序
    算法:选择排序
    注册Activity
    java变量的作用域和基本数据类型转换
    java数据类型
  • 原文地址:https://www.cnblogs.com/gongkiro/p/12622839.html
Copyright © 2011-2022 走看看