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

织梦cms零基础做网站怎么制作网址

织梦cms零基础做网站,怎么制作网址,馀姚网站建设,推广普通话宣传海报题目描述 给定一个非负整数 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.wangmingla.cn/news/127248.html

相关文章:

  • 进入网站前如何做环境检测网站外链是什么意思
  • 大河网google seo整站优化
  • 网站后台登录代码软件开发外包
  • 河南省造价信息网官网百度快照优化公司
  • 马鞍山制作网站国内最好的seo培训
  • 网站开发的框架百度问问我要提问
  • 湖州哪里做网站广州番禺最新发布
  • 网站换肤代码win7优化
  • 中国建筑人才招聘深圳网站建设推广优化公司
  • 武汉一网科技seo常用的优化工具
  • 公司网络推广培训网站关键词优化外包
  • wordpress仿站开发什么叫做优化
  • 广告机 东莞网站建设发帖效果好的网站
  • 北京网站建设公司册seo营销培训
  • 设计企业公司网站网址大全
  • 制作一个简单网页html抖音seo优化公司
  • 聊城专业网站建设公司网站搭建详细教程
  • 北京网站建设排行榜如何做网络销售平台
  • 门户网站系统架构企业网站建设优化
  • wordpress网站被镜像百度一下百度百科
  • 网站空间 更换百度技术培训中心
  • 电商思维做招聘网站磁力链最佳的搜索引擎
  • 网站自适应手机百度账号一键登录
  • 房产网站编辑如何做南城网站优化公司
  • wordpress 404页面插件福建seo优化
  • 龙口做网站价格网址推广
  • 怎么自己做直播网站管理方面的培训课程
  • 推广app渠道网址seo关键词
  • 爱站网在线全集私人影视网络平台怎么创建需要多少钱
  • 网站 管理seo网站关键词优化多少钱