leedcode 杨辉三角

自己写的:

复制代码
class Solution:
    def generate(self, numRows: int):
        # 初始化结果列表,包含帕斯卡三角形的前两行
        li = [[1], [1, 1]]

        # 检查如果numRows为1或2,直接返回对应结果
        if numRows == 1:
            return [[1]]
        if numRows == 2:
            return [[1], [1, 1]]

        # 如果numRows大于等于3
        if numRows >= 3:
            target = 3  # 从第三行开始
            while target <= numRows:
                # 创建一个临时列表,所有元素初始化为0
                temp = [0] * target
                
                # 根据前一行赋值临时列表的首尾元素
                temp[0] = li[target - 2][0]
                temp[-1] = li[target - 2][-1]

                # 使用前一行计算临时列表的中间元素
                for i in range(1, target - 1):  # 循环遍历位置在[1, target-2]之间的元素
                    temp[i] = li[target - 2][i - 1] + li[target - 2][i]

                # 将新生成的行添加到结果列表
                li.append(temp)

                # 移动到下一行
                target += 1

        # 返回最终的结果列表
        return li
复制代码

gpt提供的:

复制代码
class Solution:
    def generate(self, numRows: int):
        if numRows == 0:
            return []
        
        result = [[1]]
        
        for i in range(1, numRows):
            row = [1]  # 每行的第一个元素始终为1
            for j in range(1, i):
                row.append(result[i - 1][j - 1] + result[i - 1][j])
            row.append(1)  # 每行的最后一个元素始终为1
            result.append(row)
        
        return result
复制代码

 

posted @   Junior_bond  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示