LeetCode 118.杨辉三角 C++写法

news2025/4/21 14:46:31

LeetCode 118.杨辉三角 C++写法

image-20240727190739382

思路🧐:

  我们使用vector来进行解答,该题规律简单,观察一下就可以发现,下一行的非1部分是上一行相同下标与上一行相同下标的前一个数据的和。难一点的是数据存储方式,C语言需要用到二维数组存储,C++需要用到vector<vector<int>>来存储

  如图所示,vector<vector<int>>返回的是vector<int>对象,vector<int>返回的才是int对象,我们要访问具体数据时,也需要用到访问二维数组的方法,如:a[i][j],i可以看做行,j可以看做列。与C语言不同的是,C语言是对二级指针解引用,vector是对方括号重载的调用

image-20240727192219409

代码🔎:

class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> num;
        num.resize(numRows); //先将行开好,存储vector<int>对象,resize会自动初始化0
        for(size_t i = 0; i < num.size(); i++)
        {
            num[i].resize(i + 1); //列开好,存储int对象,且每一行数据都要多一个
            num[i][0] = num[i][num[i].size() - 1] = 1; //将每列的第一个和最后一个数据赋为1
        }
        for(size_t i = 0; i < num.size(); i++)
        {
            for(size_t j = 0; j < num[i].size(); j++) //二维数组遍历方式
            {
                if(num[i][j] == 0) //为0的数据就可以用到思路中的规律
                {
                    num[i][j] = num[i - 1][j] + num[i - 1][j - 1]; //上一行的相同下标与其前一个相加就是下一行的值
                }
            }
        }
        return num;
    }
};

image-20240727190728434

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1954226.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

相机怎么选(不推荐,只分析)

title: 相机怎么选 tags: [相机, 单反相机] categories: [其他, 相机] 最近准备购买&#xff0c;相机怎么选&#xff0c;我去搜索了许多文章&#xff0c;整理了一篇小白挑选技术篇&#xff0c;供大家参考。 分类 胶片相机 需要装入胶卷才能使用的相机&#xff0c;拍照后可直…

【网络安全】子域名模糊测试实现RCE

未经许可&#xff0c;不得转载。 文章目录 正文总结 正文 在之前测试一个私人项目时&#xff0c;我报告了admin.Target.com上的Auth Bypass漏洞&#xff0c;这将导致SQLI&RCE &#xff0c;该漏洞在报告后仅一天就被修复。 现在重拾该应用程序&#xff0c;对子域进行模糊测…

安德森四原则:从对称性破缺到复杂性涌现

中国物理学会期刊网 2023年06月20日 10:00 北京 以下文章来源于集智俱乐部&#xff0c;作者 Krakauer 导语 对称性破缺与复杂性的涌现有何关系&#xff1f;在几十年的研究进程中&#xff0c;诺奖得主、圣塔菲研究所发起人菲利普安德森&#xff08;Philip Anderson&#xff09…

十四、【Python】基础教程-【Python全掌握】六大基础数据类型:字典(dict)类型的终极指南

目录 一、字典&#xff08;dict&#xff09; 1. 创建字典 2. 访问元素 3. 添加元素 4. 修改元素 5. 删除元素 6. 检查键是否存在 7. 获取字典的键、值、项 8. 遍历字典 9. 更新字典 10. 复制字典 11. 字典推导式 12. 获取默认值 13. 弹出元素 14. 清空字典 15. …

第15周 Zookeeper分布式锁与变种多级缓存

Zookeeper **************************************************************

Verilog语言和C语言的本质区别是什么?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「C语言的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; 用老石的一句话其实很好说…

前端八股文 promise async await 的理解

promise是什么 Promise 是异步编程的一种解决方案&#xff0c;比传统的解决方案——回调函数和事件——更合理和更强大。 目的 解析 吴优编程 &#xff08;解决异步编程中的嵌套问题的&#xff0c;将嵌套的格式 用peomise 写成同步&#xff09; promise.then() 是成功后继…

【人工智能】人工智能概论(一):人工智能基本概概念、学派、发展历程与新一代人工智能

文章目录 1. 人工智能的基本概念与定义2. 人工智能的主要学派及主旨思想2.1. 符号主义学派&#xff1a;AI源自数学逻辑2.2. 连接主义学派&#xff1a;AI源自仿生学2.3. 行为主义学派&#xff1a;AI源自控制论 3. 人工智能的起源及发展历程4. 驱动新一代人工智能快速发展的因素 …

橙单后端项目下载编译遇到的问题与解决

今天下载orange-admin项目&#xff0c;不过下载下来运行出现一些问题。 1、涉及到XMLStreamException的几个类都出现下面的错误 The package javax.xml.stream is accessible from more than one module: <unnamed>, java.xml ctrl-shift-t 可以找到这个引入是哪些包里…

C++泛型编程,函数模板和类模板

C模板 模板概念&#xff1a;泛型编程&#xff0c;将类型参数化&#xff0c;在编译阶段不指定参数类型&#xff0c;运行阶段动态获取参数的技术&#xff0c;C中分为函数模板和类模板 语法&#xff1a; template<typename T> template -- 声明创建模板 typename -- 表…

Windows系统安装FinalShell

一、下载 通过百度网盘分享的文件&#xff1a;finalshell_install.exe 链接&#xff1a;https://pan.baidu.com/s/1_vcb_t-Cp4TZSN4nWUmLww 提取码&#xff1a;d6v8 二、安装 三、远程连接Linux系统 (1)打开VMware虚拟机 右键空白区域&#xff0c;点击open Terminal 输入命令…

数字信封+数字签名工具类测试样例(Java实现)

加解密过程 加密&#xff1a; 生成加密方SM2密钥对用于签名使用生成的SM2私钥生成数字签名生成SM4对称密钥对明文进行对称加密使用与解密方提前约定好的SM2公钥对第三步中的SM4对称密钥进行非对称加密把【加密方SM2公钥】、【数字签名】、【SM4对称加密后的密文】和【SM2非对…

Linux基础复习(四)

前言 上一篇文章配置了yum仓库和Tab自动补全&#xff0c;这一篇就开始详细介绍各命令 一、基础命令 pwd pwd命令全称Print Working Directory 打印工作目录&#xff0c;就是查看当前所在位置的目录路径 cd cd全称 Change Directory 切换目录&#xff0c;就是切换工作目录…

docker compose 安装rocketmq 4.x

官网参照 前置环境搭建 目录创建 创建两个目录 logs和store,用于存放日志和数据信息&#xff0c;位置随意&#xff0c;这里我放在/home/rockermq目录下 broker.conf 创建一个空文件broker.conf 在空文件中添加 # broker 对外提供服务的ip&#xff0c;如果是公网&#xff…

前端播放rtsp视频流(最后使用WebRtc)

前端播放rtsp视频流&#xff08;最后使用WebRtc&#xff09; 前言&#xff1a; ​ 项目需要将实验室里的摄像头画面引入到前端页面中&#xff0c;故对目前常见的几种方法进行了尝试&#xff0c;虽然过程坎坷但结局是好的。 一些尝试&#xff1a; RTSPtoWebRtc工具 由于RTSPt…

npm publish出错,‘proxy‘ config is set properly. See: ‘npm help config‘

问题&#xff1a;使用 npm publish发布项目依赖失败&#xff0c;报错 proxy config is set properly. See: npm help config 1、先查找一下自己的代理 npm config get proxy npm config get https-proxy npm config get registry2、然后将代理和缓存置空 方式一&#xff1a; …

相对位置偏置代码解析

1. 初始化相对位置偏置嵌入 self.rel_pos_bias nn.Embedding((2 * window_size - 1) ** 2, self.heads) 假设window_size7、slef.heads4,则 2 * window_size - 1 13&#xff1b;嵌入层的大小为13*13169&#xff0c;创建一个大小为169*4的嵌入矩阵。 2. 创建位置索引 pos …

OpenGL入门第六步:材质

目录 结果显示 材质介绍 函数解析 具体代码 结果显示 材质介绍 当描述一个表面时&#xff0c;我们可以分别为三个光照分量定义一个材质颜色(Material Color)&#xff1a;环境光照(Ambient Lighting)、漫反射光照(Diffuse Lighting)和镜面光照(Specular Lighting)。通过为每…

springboot整合 knife4j 接口文档

第一步&#xff1a;引入依赖 <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi2-spring-boot-starter</artifactId><version>4.4.0</version></dependency> 第二步&#xff1a;写入配置 方…

国内NAT服务器docker方式搭建rustdesk服务

前言 如果遇到10054,就不要设置id服务器!!! 由于遇到大带宽,但是又贵,所以就NAT的啦,但是只有ipv4共享和一个ipv6,带宽50MB(活动免费会升130MB~) https://bigchick.xyz/aff.php?aff322 月付-5 循环 &#xff1a;CM-CQ-Monthly-5 年付-60循环&#xff1a;CM-CQ-Annually-60官方…