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://www.hqwc.cn/news/641518.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

布局香港之零售小店篇 | 香港一人小企与连锁超市的竞争

近年来&#xff0c;内地品牌入驻香港市场开拓业务已成大势所趋。香港特区政府早前公布的「2023年有香港境外母公司的驻港公司按年统计调查」显示&#xff0c;2023年母公司在海外及内地的驻港公司数量高达9039家。内地品牌在香港的成功落地&#xff0c;不仅为香港市民带来了丰富…

Windows 平台上面管理服务器程式的高级 QoS 策略

在 Windows 平台上面&#xff0c;目前有两个办法来调整应用程式的 QoS 策略设置&#xff0c;一种是通过程式设置&#xff0c;一种是通过 “Windows 组策略控制”。 在阅读本文之前&#xff0c;您需要先查阅本人以下的几篇文献&#xff0c;作为前情提示&#xff1a; VC Windows…

跨境电商测评攻略:如何安全有效地提升业绩?

跨境电商做久了&#xff0c;卖家都会陷入一个困境&#xff0c;到底是该坚持慢慢做好&#xff0c;还是要测评? 有卖家表示&#xff0c;美客多基本的操作如果熟练了之后&#xff0c;就不用在运营上费太多功夫 这时候要好好规划一下测评的事情&#xff0c;做美客多到最后你会发…

双链向表专题

1.链表的分类 链表的种类非常多组合起来就有 2 2 8种 链表说明&#xff1a; 虽然有这么多的链表的结构&#xff0c;但是我们实际中最常⽤还是两种结构&#xff1a; 单链表 和 双向带头循环链表 1. 无头单向⾮循环链表&#xff1a;结构简单&#xff0c;⼀般不会单独⽤来存数…

matlab学习003-绘制由差分方程表示的离散系统图像

目录 1&#xff0c;题目 2&#xff0c;使用函数求解差分方程 1&#xff09;基础知识 ①filter函数和impz函数 ②zeros函数 ☀ 2&#xff09;绘制图像 ​☀ 3&#xff09;对应代码 如果连简单的信号都不会的&#xff0c;建议先看如下文章&#x1f447;&#xff0c;之…

科东软件Intewell-Win_V2.1.0_release版本正式发布,鸿道Intewell引领新型操作系统

Intewell-Win_V2.1.0_release版本正式发布_工业嵌入式实时操作系统 Intewell-Win_V2.1.0_release版本 版本号&#xff1a;V2.1.0 版本发布类型&#xff1a;release正式版本 版本特点 增加系统配置服务和web配置工具 特殊说明 版本或修改说明&#xff1a;无 增加功能&…

列车tcn网络mvb从站接收代码流程解析

TCN-列车通信网络概述 机车车辆通信网络&#xff08;TCN-列车通信网络&#xff09;的基本组件是在整个列车单元中提供数据通信的有线列车总线&#xff08;WTB&#xff09;和用于在车辆或固定连接车辆组&#xff08;组成&#xff09;内进行数据交换&#xff08;通信&#xff09…

Rust入门-所有权

一、为什么、是什么、怎么用 1、为什么Rust要提出一个所有权和借用的概念 所有的程序都必须和计算机内存打交道&#xff0c;如何从内存中申请空间来存放程序的运行内容&#xff0c;如何在不需要的时候释放这些空间&#xff0c;成为所有编程语言设计的难点之一。 主要分为三种…

时钟HRC、LRC的校正

时钟校准 HRC校准原理LRC校准原理校准系数自加载flash测试步骤相关代码 HRC校准原理 寻找最合适的HRC温度特性调节HRC_TC、HRC输出频率调节控制位HRC_ADJ&#xff0c;使得HRC的实际频率和期望频率差别最小。 LRC校准原理 寻找最合适的LRC输出频率调节控制位LRC_ADJ使误差最…

谷歌广告B2C实战特训营,500+谷歌账户经验,实战演示从0-1搭建广告账户

结合数据优化搜索、购物(PMax)、再营销、展示、视频广告类型&#xff0c;提升ROI稳定增长 课程背景&#xff1a; 不同的电商产品(如大件家具、假发、服饰等)适合的广告类型、组合策略、预算配置大不相同。 为了让大家最快掌握不同产品的投放策略找到最适合自己的打法&#x…

vuex和pinia转态管理工具介绍

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

nvm管理多个node版本,快速来回切换node版本

前言 文章基于 windows环境 使用nvm安装多版本nodejs。 最近公司有的项目比较老需要降低node版本才能运行&#xff0c;由于来回进行卸载不同版本的node比较麻烦&#xff1b;所以需要使用node工程多版本管理&#xff0c;后面自己就简单捯饬了一下nvm来管理node&#xff0c;顺便…