• 2021-09-07 刷题 119杨辉三角2


    题目链接:https://leetcode-cn.com/problems/pascals-triangle-ii/

    题目说明:

    给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。

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

     示例 1:
    输入: rowIndex = 3
    输出: [1,3,3,1]
    示例 2:

    输入: rowIndex = 0
    输出: [1]
    示例 3:

    输入: rowIndex = 1
    输出: [1,1]
    答题思路:

    1、观察杨辉三角每一行,每一列有什么关系,并使用编号进行编写

    2、重点关注每一行与每一行的关系,并学会用数学公式表达出来(第i行的的第j个与第i-1行的j与j+1 相等)

    3、扩展学习 滚动数组

    若将杨辉三角的内容进行格式调整,则可规律性的进行代码编写

    代码:

    class Solution {
    public:
        vector<int> getRow(int rowIndex) {
            vector<vector <int>> A(rowIndex + 1);//定义一个数组
            for(int i = 0 ; i <=rowIndex; ++i){//循环第一层次,进行判断
                A[i].resize(i+1);
                A[i][0] = A [i][i] =1;
                for(int j = 1;j<i; ++j){
                    A[i][j] = A[i-1][j] + A[i-1][j-1];
                }    
            }
             return A[rowIndex]; 
        } 
    };

    TIPS:c++中序列式容器的一个共性函数, vv.resize(int n,element)表示调整容器vv的大小为n,扩容后的每个元素的值为element,默认为0 resize()会改变容器的容量和当前元素个数 定义 vector<type> vv; 头文件#include<vector>

  • 相关阅读:
    Redis命令
    Linux命令
    SQL语句
    Redis集群
    Redis主主复制、主从复制
    关于Java乱码
    组合, 封装, 访问限制机制, property装饰器, 多态
    继承
    小练习
    面向过程与面向对象, 类和对象
  • 原文地址:https://www.cnblogs.com/gjianli/p/15237059.html
Copyright © 2020-2023  润新知