Leetcode 118 杨辉三角

目录

  • 一、问题描述
  • 二、示例及约束
  • 三、代码
    • 方法一:数学
  • 四、总结

一、问题描述

  给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。
  在「杨辉三角」中,每个数是它左上方和右上方的数的和。
在这里插入图片描述

二、示例及约束

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

示例 2:
输入: numRows = 1
输出: [[1]]

提示:
● 1 <= numRows <= 30

三、代码

方法一:数学

class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> ret(numRows);//创建二维数组ret,初始数组的行数为numRowsfor (int i = 0; i < numRows; i++) {ret[i].resize(i + 1);//每行初始化为i + 1列ret[i][0] = ret[i][i] = 1;  //每行最左和最右元素固定为1/*每个数是它左上方和右上方的数的和for (int j = 1; j < i; ++j) {ret[i][j] = ret[i - 1][j] + ret[i - 1][j - 1];}*/for (int j = 1; j <= i / 2; j++) {//对于杨辉三角而言,左右是对称的,因此遍历一半即可ret[i][j] = ret[i - 1][j -1] + ret[i - 1][j];if (i - j != j) {//当i是奇数的时候,最中间的数是加法得到的,不能对称赋值得到ret[i][i - j] = ret[i][j];//对称赋值}}}return ret;}
};

四、总结

时间复杂度:
方法一:O( n u m R o w s 2 numRows^2 numRows2)。
空间复杂度:
方法一:O(1),不考虑返回的数组空间。

方法时间复杂度空间复杂度
方法一O( n u m R o w s 2 numRows^2 numRows2)O(1)

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

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

相关文章

图像数据做并行规约时,如何确定共享内存和网格的大小

做并行规约时&#xff0c;如何确定共享内存和网格的大小 1、为什么要确定共享内存和网格大小2、共享内存大小定义3、网格大小 注&#xff1a;1、这里记录使用笔记&#xff0c;不对cuda的名词做解释&#xff0c;没有详细数学原理和代码。 2、环境&#xff1a;cuda8.0&#xff0c…

农业四情监测系统解析

TH-Q2农业四情监测系统&#xff0c;作为现代农业信息技术与农业生产深度融合的产物&#xff0c;正以其独特的优势为农业生产提供着全面而精准的数据支持。随着科技的不断发展&#xff0c;这一系统将在未来展现出更为广阔的应用前景和无限的发展潜力。 首先&#xff0c;农业四情…

vuex和pinia转态管理工具介绍

一、介绍 相同点&#xff1a; 都是Vue.js的状态管理工具 不同点&#xff1a; 区别PiniaVuex支持Vue2和Vue3都支持Vue3写法需要额外配置Mutation只有 state, getter 和 action&#xff0c;无Mutationaction异步、Mutation 同步actionaction支持同步和异步action异步、Mutatio…

dayjs使用小结

npm i dayjs 使用方法&#xff1a; import dayjs from dayjs import isBetween from dayjs/plugin/isBetweenconst But_Click () > {console.log(当前时间, dayjs().format(YYYY-MM-DD HH:mm:ss))console.log(日期的基本转换)console.log(当前时间5年, dayjs().add(5, &qu…

详解工业网关在线探测功能及用途

工业网关专为工业物联网应用设计&#xff0c;可实现包括不同通讯协议之间的兼容和转换&#xff0c;提供软硬件加密保障工业数据安全传输&#xff0c;发挥强大算力实现数据边缘预处理&#xff0c;联动联调工业网络设备实现高效协同等。在线探测功能是佰马工业网关的一项重要功能…

【电控笔记5.6】Butterworth滤波器

Butterworth滤波器 需求&#xff1a;在增益交越频率拥有最小的相位滞后 波器经常被使用原因是 Butterworth 滤波器对于给定阶数&#xff0c;拥有最倾斜的衰减率而在伯德图又不会产生凸峰&#xff0c;同时在低频段的相位滞后小&#xff0c;因此本节将为各位介绍 Butterworth 低…

【运维自动化-配置平台】如何通过模板创建集群和模块

通过【每天掌握一个功能点】配置平台如何创建业务机拓扑&#xff08;集群-模块&#xff09;我们知道了直接创建集群和模块的操作方法&#xff0c;直接创建的方式适合各集群模块都相对独立的场景&#xff0c;那大量的、标准规范的集群模块如何快速创建呢&#xff0c;这里就引入了…

OceanMind海睿思-知信版本升级:增加多模态能力,强化知识应用体验

本期OceanMind海睿思-知信产品能力升级&#xff1a; 多模态知识构建&#xff0c;增加知识库的图片知识理解能力多模态知识问答&#xff0c;强化问答体验效果 1 多模态升级 市场上现有的主流基于大模型框架的智能知识库产品&#xff0c;在知识构建和知识应用时&#xff0c;仅…

云打印比线下打印店便宜吗?

随着云打印的火热&#xff0c;现在越来越多的同学都选择云打印服务了。但是仍有部分没有接触过云打印的同学&#xff0c;担心云打印会乱收费&#xff0c;一直坚持去线下打印店打印。那么云打印比线下打印店便宜吗&#xff1f;云打印是怎么收费的&#xff1f;今天小易就以易绘创…

vue+springboot+websocket实时聊天通讯功能

前言 在我的前一篇文章里 vuespringboot实现聊天功能 &#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388; 实现了最最基础的聊天功能&#xff0c;可以通过聊天互相给对方发送信息 &#x1f388;&#x1f388;&#x1f388;&…

爱普生发布一款16位MCU产品用于大电流LED驱动

精工爱普生发布一款内置Flash存储器的16位微控制器S1C17M13 该新品可以提供最大56mA的驱动电流用于驱动发光二极管(LED) 以往爱普生的微处理器大多继承了液晶驱动器电路&#xff0c;但近来随着工业自动化和家用设备使用7段LED显示的数量大幅增加&#xff0c;爱普生也推出了对应…

Rust-01 Hello Rust 10分钟上手编写第一个Rust程序 背景介绍 发展历史 环境配置 升级打怪的必经之路

背景介绍 Rust 是一种多范式、通用的编程语言&#xff0c;强调性能、类型安全和并发性。它通过一个称为“借用检查器”的机制在编译时追踪所有引用的对象生命周期&#xff0c;以强制实现内存安全&#xff0c;即确保所有引用都指向有效的内存&#xff0c;而不需要垃圾收集器。 …

【Git教程】(十五)二分法排错 — 概述及使用要求,执行过程及其实现(用二分法人工排错或自动排错),替代解决方案 ~

Git教程 二分法排错 1️⃣ 概述2️⃣ 使用要求3️⃣ 执行过程及其实现3.1 用二分法人工排错3.2 用二分法自动排错 4️⃣ 替代解决方案 在开发过程中&#xff0c;我们经常会突然遇到一个错误&#xff0c;是之前早期版本在成功通过测试时没有出现过的。这时候&#xff0c;时下较…

Linux thermal框架介绍

RK3568温控 cat /sys/class/thermal/thermal_zone0/temp cat /sys/class/thermal/thermal_zone1/temp cat /sys/class/thermal/cooling_device0/cur_state cat /sys/class/thermal/cooling_device1/cur_state cat /sys/class/thermal/cooling_device2/cur_state thermal_zone…

负氧离子监测系统适合景区使用吗

TH-FZ4负氧离子监测系统适合景区使用吗&#xff1f;答案是毫无疑问的&#xff0c;负氧离子监测系统是一种专门用于监测空气中负氧离子浓度的设备&#xff0c;结合了防腐木的结构优势和负氧离子监测技术&#xff0c;广泛应用于旅游景区、生态园区、森林公园等地方。这种系统通过…

Axure糖尿病健康管理APP原型 (知识科普/病友社区/远程医生会诊/购物商城/血糖监测/饮食监测)

作品概况 页面数量&#xff1a;共 50 页 源文件格式&#xff1a;rp格式&#xff0c;兼容 Axure RP 9/10&#xff0c;非程序软件无源代码 应用领域&#xff1a;医疗健康、慢病管理、糖尿病管理 作品特色 本作品为Axure糖尿病健康管理APP端原型图&#xff0c;设计规范内容清晰…

SQL的基础语句

1、select语句 select colums from table_name 2、条件语句 #查询出查询出用户id为1和3的用户记录 IN 操作符允许我们在 WHERE 子句中规定多个值。 select * from student where id in (1,3) #查询出所有姓王的同学 模糊查询 like 通配符(% 任意多个字符 _单个字符) #下例…

达芬奇调色:色彩理论入门

写在前面 整理一些达芬奇调色的笔记博文内容涉及&#xff1a; 一级调色是什么&#xff0c;以及 调色素材格式 log&#xff0c;raw&#xff0c;rec709 简单认知理解不足小伙伴帮忙指正 不必太纠结于当下&#xff0c;也不必太忧虑未来&#xff0c;当你经历过一些事情的时候&#…

【剪映专业版】03立体自动翻页

【剪映专业版】立体自动翻页制作 1.导入素材&#xff0c;图片或视频均可 2.将素材2拖动至素材1的上方&#xff0c;点击蒙版&#xff0c;选择线性蒙版&#xff0c;并旋转为90度。 3.复制素材1&#xff0c;并拖动到素材2上方&#xff0c;分割并删除后半部分&#xff0c;点击蒙版…

Innodb之Doublewrite Buffer

Innodb 事件流程 Doublewrite Buffer InnoDB 存储引擎的 Doublewrite Buffer&#xff08;双写缓冲区&#xff09;是一种用于数据完整性和恢复的关键机制。它是为了在数据库发生崩溃时保护数据不受损坏设计的。下面将详细介绍 Doublewrite Buffer 的工作原理、目的以及其对性能…