今天要挑战的是实作一个在数学上有许多应用的帕斯卡三角形!可以先参考Leetcode上的动画说明。
https://leetcode.com/problems/pascals-triangle/
Given an integer numRows, return the first numRows of Pascal's triangle.
In Pascal's triangle, each number is the sum of the two numbers directly above it
Example 1:
Input: numRows = 5
Output: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
Example 2:
Input: numRows = 1
Output: [[1]]
这题希望我们实作一个帕斯卡三角形,题目会给我们一个整数,我们要做出相对应层数的帕斯卡三角形,关於帕斯卡三角形详细的规则和内容,可以参考维基百科。
https://zh.wikipedia.org/wiki/%E6%9D%A8%E8%BE%89%E4%B8%89%E8%A7%92%E5%BD%A2
在python中我们可以用很直接明了的方法,先把一层的情况当作特例,而後建立二维阵列,接着我们可以根据题目给我们的整数,当作回圈执行的次数,每次对每一行再做一次回圈,最後和第一个一定是整数1,接着的每个元素根据前一行相对位置的元素相加,回圈全部跑完,就是答案了!
以下为python3的程序码
class Solution:
def generate(self, numRows: int) -> List[List[int]]:
if numRows == 1:
return [[1]]
ans = [[1], [1,1]]
for i in range(2, numRows):
deck = [1]
for j in range(1, i):
deck.append(ans[i-1][j-1] + ans[i-1][j])
deck.append(1)
ans.append(deck)
return ans
<<: Day 10 : 用於生产的机械学习 - Data Define 与建立基准
>>: Kotlin Android 第5天,从 0 到 ML - 函式
在Variety主要说的速度问题是指单次任务运算处理的速度,速度的压力可能来自於使用者对回应速度的要...
「三是一个质数,是一个特别的存在。」 「三角形是最坚固的形状,最强韧的组合。」 三个人的团队,是最适...
强型闯入DenoLand[25] - 使用 Deno 打造多线程应用(2) 在了解何谓多线程以後,...
隐蔽频道 .隐蔽通道是“意外或未经授权的系统内通道,它使两个合作实体能够以违反系统安全策略但不超过实...
一. Sequence to Sequence 在说明transformer之前,先介绍一下何谓Se...