***杨辉三角_yyds_LeetCode_python***

news2024/12/24 11:13:53

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]]

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/pascals-triangle
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2.题解:

class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        result = [] #用来存放杨辉三角
        #
        for i in range(numRows):
            now = [1]*(i+1)
            if i >= 2:
                for  j in range(1,i):
                    now[j] = pre[j-1] + pre[j]
            result.append(now)
            pre = now
        return result
         


 


3.题目总结:

这段代码是用来生成杨辉三角的,杨辉三角是一个很有趣的数学图形,它的每一行都是由数字 1 开始和结束,中间的数字是上一行相邻两个数字之和。下面是一个 5 行的杨辉三角:

```
        1
       1 1
      1 2 1
     1 3 3 1
    1 4 6 4 1
```

现在我们来解释一下这段代码:

首先定义了一个函数 `generate`,它接收一个参数 `numRows`,表示要生成杨辉三角的行数。

然后定义了一个空列表 `result`,用来存储生成的杨辉三角。

接下来使用一个循环,循环次数为 `numRows`,也就是要生成的杨辉三角的行数。

在每次循环中,首先创建一个长度为 `i+1` 的列表 `now`,并将其初始化为 1,这个列表就是当前行的数字列表。

然后判断当前行的行数是否大于等于 2,如果是,就需要计算中间的数字。这里使用了另一个循环,循环次数为 `i-1`,也就是中间数字的个数。在循环中,将 `now` 列表中第 `j` 个数字更新为上一行相邻两个数字之和。

接下来将当前行的数字列表 `now` 添加到 `result` 列表中。

最后将当前行的数字列表 `now` 赋值给变量 `pre`,以便下一次循环使用。

最后返回 `result` 列表,即为生成的杨辉三角。

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

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

相关文章

第3章“程序的机器级表示”:异类的数据结构

文章目录 概述3.9.1 结构3.9.2 联合 概述 C提供了两种将不同类型的对象结合到一起来创建数据类型的机制:结构(structure),用关键字 struct 来声明,将多个对象集合到一个单位中;联合(union&…

Java网络开发(Asynchronous)—— 从 Jsp 到 Ajax 的 axios 到 vue 同步请求 到 异步请求

目录 引出如果想做bilibili边看视频边评论怎么搞?Ajax是啥?& axios的语法1. Ajax(Asynchronous JavaScript And XML)简介2. axios语法 及其与 java后端交互(1)get请求(2)post请求…

SpringBoot之Spring Data JPA入门学习

JPA&#xff08;Java Persistence API&#xff09;Java持久化API&#xff0c;是 Java 持久化的标准规范&#xff0c;Hibernate是持久化规范的技术实现&#xff0c;而Spring Data JPA是在 Hibernate 基础上封装的一款框架。 一、添加依赖 <dependency><groupId>or…

【git指南--命令大全】

我看好多文章命令都记录得比较发散不够全面&#xff0c;这里还是把我自己的笔记分享出来&#xff0c;方便查阅。 文章目录 1. git config作用域--list 显示当前所有配置配置cd ~/.ssh 2. 初始化 git 仓库1、把已有项目代码纳入 git 管理2、新建的项目直接用git 管理3、克隆仓库…

智能指针 smart_ptr

智能指针 为什么需要智能指针&#xff1f;内存泄漏什么是内存泄漏&#xff0c;内存泄漏的危害内存泄漏分类 智能指针的使用及原理RAII智能指针的原理std::auto_ptrstd::unique_ptrstd::shared_ptr 为什么需要智能指针&#xff1f; 下面我们先分析一下下面这段程序有没有什么内…

ps打开出现dll文件丢失怎么办,dll修复的三个方法

在Windows中&#xff0c;动态链接库&#xff08;DLL&#xff09;是一种可重用的代码和数据结构&#xff0c;它由多个应用程序共享&#xff0c;以提高内存利用率并减少冗余。DLL文件通常包含操作系统函数、图形驱动程序、网络驱动程序等&#xff0c;它们在Windows启动时被加载到…

大话Stable-Diffusion-Webui-客制化主题(四)

文章目录 目标效果开始重要说明单选框以及复选框图标样式更改gradio主题构建器上传主题方式代码上传主题方式目标 在DIY的主题中更改gradio单选框组件以及复选框组件的勾选后图标样式 效果 开始 笔者在使用gradio的主题构建器的过程中发现,gradio的复选框以及单选框组件勾选…

高通 Camera HAL3:如何在CAMX中查找Android TAG

之前的博文&#xff1a;《高通 Camera HAL3&#xff1a;添加一个VendorTag》中提到过&#xff0c;MetadataTag在CamX中有两种体现&#xff0c;可以是预定义的AndroidTag或是自定义VendorTag。 自定义VendorTag博文中已经讲解了 如何在CAMX中查找AndroidTag是经常要做的事 下…

【2】Midjourney注册

随着AI技术的问世&#xff0c;2023年可以说是AI爆炸性成长的一年&#xff0c;近期最广为人知的AI服务除了chatgpt外&#xff0c;就是从去年五月就已经问世的AI绘画工具mid journey了。 ▲几个AI工具也代表了人工智能的热门阶段 只要输入一段文字&#xff0c;AI就会根据语意计算…

Android 逆向之安全防护基本策略

对抗反编译 混淆 使用混淆主要可以减小包的大小。混淆对于安全保护来说&#xff0c;只是增加了阅读难度而已。混淆不会把关键代码混淆掉&#xff0c;比如MainActivity&#xff0c;Application等&#xff0c;可以通过分析smali和阅读jar包定位代码。 资源混淆也是换汤不换药&…

【VPX612】基于C6678 的6U VPX 实时信号处理平台

产品概述 VPX612 是一款基于6U VPX 架构的高性能实时信号处理平台&#xff0c;该平台采用4 片TI 的KeyStone 系列多核DSP TMS320C6678 作为主处理单元&#xff0c;采用1 片Xilinx 的Kintex-7 系列FPGA 作为协处理单元&#xff0c;各个处理节点之间通过高速串行总线进行互联。板…

遇到这3种接口测试问题,其实,你可以这么办~

作为整个软件项目的必经环节&#xff0c;软件测试是不可缺少的“查漏补缺”环节。而作为软件测试中的重要一环——接口测试&#xff0c;几乎串联了整个项目所有的输入和输出环节。 前几年&#xff0c;我在做后端测试时&#xff0c;接触最多的正是接口测试。基于此&#xff0c;…

chatgpt赋能python:Python怎么倒序输出一百以内的整数

Python怎么倒序输出一百以内的整数 Python是一个广泛使用的高级编程语言&#xff0c;其简单易学、易读性强、具有良好的开发效率和可维护性等特点&#xff0c;使得Python成为了软件开发、数据分析和机器学习等领域的首选语言。本篇文章将介绍Python如何倒序输出一百以内的整数…

走进 WWDC 2023 苹果开发者大会

6 月 6 日凌晨开始,苹果在加州总部举行了 WWDC 2023 开发者大会的主题演讲,向全球观众展示了 iOS 17、iPadOS 17、tvOS 17、watchOS 10 和 macOS 14 这五大新系统,以及备受期待的混合现实头显 Apple Vision Pro 和 Mac Pro 等硬件。 以下是对发布会的主要内容和亮点的总结和…

电脑误删文件有多大几率能恢复回来

电脑误删文件是一种常见情况&#xff0c;但能否成功恢复取决于多种因素。本文将探讨电脑误删文件的数据恢复几率以及影响因素&#xff0c;帮助你了解恢复的可能性并采取适当的行动。 工具/原料&#xff1a; 系统版本&#xff1a;win10系统 品牌型号&#xff1a;华硕F83E66Se-S…

开源代码分享(2)—综合能源系统零碳优化调度(附matlab代码)

参考文献&#xff1a; Optimal dispatch of zero-carbon-emission micro Energy Internet integrated with non-supplementary fired compressed air energy storage system | SGEPRI Journals & Magazine | IEEE Xplore 1.引言 全球能源危机和环境污染的双重压力促使能量…

Vision Transformer综述 part I Transformer简介及组成

Vision Transformer综述 1. Transformer简介2. Transformer组成2.1 Self-AttentionMulti-Head Attention&#xff08;多头注意力&#xff09; 2.2 Transformer的其他关键概念2.2.1 Feed-Forward Network 前馈网络2.2.2 Residual Connection 残差连接2.2.3 解码器中的最后一层 1…

红蓝攻防基础-认识红蓝紫,初步学习网络安全属于那个队?

一、关于红队 红队&#xff0c;也叫蓝军是指网络实战攻防演练中的攻击一方&#xff0c;以发现系统薄弱环节、提升系统安全性为目标&#xff0c;一般会针对目标单位的从业人员以及目标系统所在网络内的软件、硬件设备执行多角度、全方位、对抗性的混合式模拟攻击&#xff0c;通过…

HTML中的 JavaScript 运行模式

导读&#xff1a; 在前面章节中&#xff0c;我们提到了&#xff0c;JavaScript在诞生初期&#xff0c;主要用途是代替Perl等服务器端语言处理输入验证,但如今 JavaScript,已经被广泛应用在了 WEB 开发领域&#xff0c;所以本章节就和大家聊聊&#xff0c;JavaScript&#xff0c…

HTML5-创建HTML文档

HTML5中的一个主要变化是&#xff1a;将元素的语义与元素对其内容呈现结果的影响分开。从原理上讲这合乎情理。HTML元素负责文档内容的结构和含义&#xff0c;内容的呈现则由应用于元素上的CSS样式控制。下面介绍最基础的HTML元素&#xff1a;文档元素和元数据元素。 一、构建…