学堂 学堂 学堂公众号手机端

LeetCode-Pascal's Triangle

lewis 12个月前 (05-11) 阅读数 19 #技术


Description:

Given a non-negative integer numRows, generate the first numRows of Pascal’s triangle.



In Pascal’s triangle, each number is the sum of the two numbers directly above it.

Example:

Input: 5
Output:
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]

题意:返回给定行数的杨辉三角数列;

解法:要求解这道题目,我们首先需要知道什么是杨辉三角,他的两侧的数值均为1,其他位置的数值为上面两个数的和;因此,我们可以从第一行逐渐向下求解;

class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> result = new ArrayList<>();
for(int i = 0; i < numRows; i++) {
List<Integer> tempList = new ArrayList<>();
tempList.add(1);
if (i == 0) {
result.add(tempList);
continue;
}
for(int j = 1; j < i; j++) {
int num1 = result.get(i-1).get(j-1);
int num2 = result.get(i-1).get(j);
tempList.add(num1+num2);
}
tempList.add(1);
result.add(tempList);
}
return


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门