数组-Leetcode-119

53 阅读1分钟

0️⃣python数据结构与算法学习路线
学习内容:

  • 基本算法:枚举、排序、搜索、递归、分治、优先搜索、贪心、双指针、动态规划等…
  • 数据结构:字符串(string)、列表(list)、元组(tuple)、字典(dictionary)、集合(set)、数组、队列、栈、树、图、堆等…

题目:

给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。

输入输出:

输入: 3
输出: [1,3,3,1]

解题思路:

在一个数组中更新
左边[j-1] + 右边[j],更新到[j]

算法实现:

class Solution(object):
    def getRow(self, rowIndex):
        ret = [1] * (rowIndex + 1)
        for i in range(2, rowIndex + 1):
            for j in range(i - 1, 0, -1):
                ret[j] += ret[j - 1]
        return ret

出现问题: