力扣:118. 杨辉三角(Python3)

题目:

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

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

来源:力扣(LeetCode)

链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

示例:

示例 1:

输入:numRows = 5

输出:0,1

解释:\[1,1,1,1,2,1,1,3,3,1,1,4,6,4,1]

示例 2:

输入:numRows = 1

输出:\[1]

解法:

寻找规律:

1, 1\] = \[0, 1\] + \[1, 0

1, 2, 1\] = \[0, 1, 1\] + \[1, 1, 0

1, 3, 3, 1\] = \[0, 1, 2, 1\] + \[1, 2, 1, 0

1, 4, 6, 4, 1\] = \[0, 1, 3, 3, 1\] + \[1, 3, 3, 1, 0

所以第i行=第i-1行左添0+右添0得到。

代码:

python 复制代码
class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        result = []
        n = [1]
        for _ in range(numRows):
            result.append(n)
            n = [x + y for x, y in zip([0] + n, n + [0])]
        return result
相关推荐
Psycho_MrZhang3 分钟前
Codex 高效开发协作手册
python
HappyAcmen14 分钟前
1.pdfplumber安装,PDF文字提取
python·pdf
弹简特15 分钟前
【零基础学Python-收尾】10-Python第三方库的安装介绍
开发语言·python
itfallrain28 分钟前
Spring 构造器循环依赖排查:@RequiredArgsConstructor + @Lazy 到底有没有生效
数据库·python·spring
嵌入式老牛33 分钟前
液晶段码(米/日字格)识别—倾斜校正
opencv·算法·仿射变换
luj_176836 分钟前
残熵算法:风险缓冲与效率优化的融合
c语言·开发语言·网络·经验分享·算法
小草cys1 小时前
NVIDIA 驱动(550版本)成功安装后安装支持 GPU 加速的 PyTorch
人工智能·pytorch·python
SilentSamsara1 小时前
Python 微服务全链路:gRPC + 链路追踪 + 服务网格接入
开发语言·分布式·python·微服务·架构
oddsand11 小时前
pgvector 三大相似度算法
人工智能·算法·机器学习
Cloud_Shy6181 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第三章 Item 21 - 24)
开发语言·人工智能·笔记·python·迭代器模式