杨辉三角 II
题目介绍
给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。

示例 1:
1 2
| 输入: rowIndex = 3 输出: [1,3,3,1]
|
示例 2:
1 2
| 输入: rowIndex = 0 输出: [1]
|
示例 3:
1 2
| 输入: rowIndex = 1 输出: [1,1]
|
提示:
题目解法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| package algorithm;
import java.util.ArrayList; import java.util.List;
public class PascalsTriangleII {
public static List<Integer> getRow(int rowIndex) {
List<Integer> prev = new ArrayList<>(); prev.add(1); List<Integer> cur = new ArrayList<>();
int i = 0; while (i <= rowIndex) { cur = new ArrayList<>(); int j = 0; while (j <= i) { if (j <= 0 || j == i) { cur.add(prev.get(0)); } else { cur.add(prev.get(j) + prev.get(j - 1)); } j++; } i++; prev = cur; } return cur; }
public static void main(String[] args) { System.out.println(getRow(3)); } }
|
打印:
思路:
思路上,其实很简单。一定要懂杨辉三角的原理。