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

118. 杨辉三角

目录

一、问题描述

二、解题思路

三、代码

四、复杂度分析


一、问题描述

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

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

二、解题思路

  • 每一行的第一个和最后一个元素是 1;

  • 中间的元素 = 上一行左上角 + 右上角的两个数字之和。

三、代码

class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> triangle;for (int i = 0; i < numRows; ++i) {vector<int> row(i + 1, 1); // 每行先填充 1// 从第 2 行开始计算中间的数for (int j = 1; j < i; ++j) {row[j] = triangle[i - 1][j - 1] + triangle[i - 1][j];}triangle.push_back(row); // 把这一行加进结果中}return triangle;}
};

四、复杂度分析

  • 时间复杂度:O(numRows²),因为每一行最多要填 numRows 个数;

  • 空间复杂度:O(numRows²),存储所有值。

相关文章:

  • 开源项目实战学习之YOLO11:ultralytics-cfg-datasets-lvis.yaml文件(五)
  • 接口测试教程详解
  • 使用 Docker 安装 SQL Server 2022 并解决 Navicat 连接问题
  • 商显行业革新者:RK3588的8K显示技术如何打造沉浸式商业体验
  • CSS element-ui Icon Unicode 编码引用
  • 蓝桥杯嵌入式系统设计:高效编程与调试方法全解析
  • arm64适配系列文章-第九章-arm64环境上sentinel的部署
  • 人工智能---当机器人遇到大模型会产生火花吗?
  • 与智者同行:京东零售技术人的成长书单
  • 数学基础 -- 欧拉公式的推导过程学习
  • 零基础上手Python数据分析 (22)案例实战]之利用 Matplotlib Seaborn 进行电商销售数据可视化分析
  • 《Pinia 从入门到精通》Vue 3 官方状态管理 -- 插件扩展篇
  • Java快速上手之实验4(接口回调)
  • 长城杯铁人三项初赛-REVERSE复现
  • Vue3 ref与props
  • CTF--file_get_contents
  • 【多线程】线程互斥 互斥量操作 守卫锁 重入与线程安全
  • 大模型工业化元年:GPT-5开启通用AI新纪元,中国技术如何破局?
  • 安宝特案例 | 物流仓储头部企业应用AR+作业流,规范日常安全点检,保障消防安全
  • 简单易懂:从零开始训练CLIP模型的实用指南
  • “网红”谭媛去世三年:未停更的账号和困境中的家庭
  • 深圳大学传播学院院长巢乃鹏已任深圳大学副校长
  • 三亚亚龙湾3.4公里岸线近岸海域使用权挂牌出让,起始价近九千万
  • 还山记——走进山水、感受山水艺术的魅力
  • 龙头券商哪家强:中信去年营收领跑,中金净利下滑
  • 习近平向气候和公正转型领导人峰会发表致辞