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

海南省城乡住房建设厅网站运营招聘

海南省城乡住房建设厅网站,运营招聘,南宁seo排名原理,大连好的网站建设公司题目描述 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它正上方两个数的和。 示例 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2: 输入: numRows 1 输出: [[1]]题解 这个问题…

题目描述

给定一个非负整数 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. 初始化:创建一个空列表 triangle 来存储杨辉三角的每一行。
  2. 特殊情况:如果 numRows 为 0,返回空列表;如果 numRows 为 1,返回只有一个元素 [1] 的列表。
  3. 构建杨辉三角:对于每一行 i(从 0 到 numRows - 1):
    ○ 创建一个列表 row,初始值为 [1],因为每一行的第一个和最后一个数字都是 1。
    ○ 如果当前行不是第一行,对于 row 中的每个位置 j(从 1 到 i - 1),计算 row[j] 的值为 triangle[i - 1][j - 1] + triangle[i - 1][j]。
    ○ 将计算好的行添加到 triangle 中。
  4. 返回结果:返回 triangle。

代码实现

vector<vector<int>> generate(int numRows) {vector<vector<int>> triangle;for (int i = 0; i < numRows; i++) {std::vector<int> row(i + 1, 1); // 初始化行,首尾为1if (i > 0) {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^2),因为我们需要计算每一行的每个数字,每个数字的计算时间是 O(1)。
● 空间复杂度:O(numRows^2),因为我们需要存储整个杨辉三角的前 numRows 行。
这个算法的优势在于它直接模拟了杨辉三角的构建过程,不需要额外的数学计算。

http://www.yayakq.cn/news/585704/

相关文章:

  • 企业网站托管方案内容响应式网站建设哪家好
  • 重庆专业的网站建设公司哪家好品牌包装设计
  • 申请一个网站大连旅游攻略
  • 如何查询网站建立时间设计网站 站什么网
  • 关于网站建设的大学高端网站开发有哪些
  • 公司怎么注册自己的网站阿里云建站和华为云建站哪个好
  • 网站怎么查看访问量手机在线网页制作
  • 网站建设公司果动c网站设计部
  • 盐城网站优化外贸网站建设 东莞
  • 淘宝客网站的建设麦包包的网站建设
  • 四川省城乡建设厅官方网站o2o网站建设服务
  • 口腔医院网站优化服务商最新国际新闻50条简短
  • 西安网站开发公司地址租用大型服务器多少钱
  • 做网站用什么需要好如何做视频网站的会员代理
  • 简单网站建设设计河南金建建设集团网站
  • 建立网站数据库实验报告wordpress404页面更爱
  • 网站图标psd儿童网站建设
  • 政和县建设局网站公告现在网站建设的技术
  • 微网站价格石碣镇做网站
  • logo设计在线生成免费网站无线网络
  • 清远市seo网站设计联系方式公司建设的网站属于无形资产吗
  • 嘉兴网站优化网上商城是什么软件
  • 网站建设会遇到哪些问题常德市建设工程造价网站
  • 阿里云上怎么做网页网站如何做网站安全扫描
  • 西安定制网站access数据库做网站
  • 内蒙古城乡和住房建设厅网站百度搜索官方网站
  • 西丽建设网站搜狗网站收录
  • 个人网站如何发布网站论坛建设步骤
  • 自己做网站需要花钱吗在网站设计公司上班好吗
  • 前端自适应模板东莞网站优化排名