leetcode118 Pascal's Triangle

xiaoxiao2021-02-28  100

题目

Given numRows, generate the first numRows of Pascal’s triangle.

For example, given numRows = 5, Return

[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]

生成给定行数的帕斯卡三角形。

解题思路

利用帕斯卡三角形的性质即可很简单的解决。 性质:第n行的第1个数为1,第二个数为1×(n-1),第三个数为1×(n-1)×(n-2)/2,第四个数为1×(n-1)×(n-2)/2×(n-3)/3…依此类推。

public class leetcode118 { public List<List<Integer>> generate(int numRows) { List<List<Integer>> res = new ArrayList<>(); for (int n = 1; n <= numRows; n++) { List<Integer> temp = new ArrayList<>(); int num = 1; for (int k = 1; k <= n; k++) { if (k == 1) num = 1; else num = num * (n - k+1) / (k - 1); temp.add(num); } res.add(temp); } return res; } }
转载请注明原文地址: https://www.6miu.com/read-28827.html

最新回复(0)