当前位置: 首页 > article >正文

C++ 杨辉三角 - 力扣(LeetCode)

点击链接即可产看题目:118. 杨辉三角 - 力扣(LeetCode)

一、题目

给定一个非负整数 numRows生成「杨辉三角」的前 numRows 行。

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

示例 1:

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

示例 2:

输入: numRows = 1
输出: [[1]]

二、解题思路以及代码

         本题目类似于二位数组,创建一个<vector<int>类型的vv(行)这样它里面存放的是指向int类型的vector(列),将每行的第一个和最后一个设置成1,其余设置成0,这样方便的检索,并将其的值改为上一行的同一列对应数字和上一行的前一列对应数字之和。

class Solution {
public:
    vector<vector<int>> generate(int numRows) 
    {
        vector<vector<int>> vv;
        vv.resize(numRows);
        for(int i = 0; i < numRows; i++)
        {
            vv[i].resize(i + 1, 0);
            vv[i][0] = vv[i][vv[i].size() - 1] = 1;
        }
         for(int i = 0; i < numRows; i++)
        {
            for(int j = 0; j < i + 1; j++)
            {
                if(vv[i][j] == 0)
                {
                    vv[i][j] = vv[i - 1][j] + vv[i - 1][j - 1];
                }
            }
        }
        return vv;
    }
};


http://www.kler.cn/a/448065.html

相关文章:

  • C++算法第十二天
  • 读书笔记~管理修炼-缄默效应
  • 【NLP 16、实践 ③ 找出特定字符在字符串中的位置】
  • tslib(触摸屏输入设备的轻量级库)的学习、编译及测试记录
  • 山景BP1048蓝牙音频任务后台运行设置方法
  • 使用C语言编写UDP循环接收并打印消息的程序
  • 如何制作搞笑配音视频?操作方法
  • 智能电商:API接口如何驱动自动化与智能化转型
  • Yolo11改进策略:主干网络改进|FastVit与Yolo11完美融合,重参数重构Yolo11网络(全网首发)
  • 插入排序与计数排序;数据库的三范式
  • DC-9靶场练习
  • JavaScript 类型转换的意外
  • 数组相关简单算法
  • List直接使用removeAll报错
  • 线性表查找:Python 实现与性能分析
  • 基于UNITY3D的照片墙演示项目技术分享
  • Apache解析漏洞(apache_parsingCVE-2017-15715)
  • 【卡尔曼滤波理论推导与实践】【理论】【3.2/5 卡尔曼增益02】
  • 广告投放系统成本降低 70%+,基于 Redis 容量型数据库 PegaDB 的方案设计和业务实践
  • 虚拟现实喷漆训练解决方案,为喷漆行业提供全新高效的培训方式
  • Nginx中Server块配置的详细解析
  • 游戏引擎学习第54天
  • python学习——sort/sorted+lambda表达式实现多级排序
  • linux mysql 8 大小写敏感问题
  • Android学习(五)-Kotlin编程语言-面向对象中的 继承-构造函数-接口三模块学习
  • MySQL 在window免安装启动