/**
* 给出一个值numRows,生成杨辉三角的前numRows行
* 例如,给出 numRows = 5,
* 返回
* [↵ [1],↵ [1,1],↵ [1,2,1],↵ [1,3,3,1],↵ [1,4,6,4,1]↵]
*/
import java.util.ArrayList; /** * 给出一个值numRows,生成杨辉三角的前numRows行 * 例如,给出 numRows = 5, * 返回 * [↵ [1],↵ [1,1],↵ [1,2,1],↵ [1,3,3,1],↵ [1,4,6,4,1]↵] */ public class Main51 { public static void main(String[] args) { System.out.println(Main51.generate(5)); } public static ArrayList<ArrayList<Integer>> generate(int numRows) { ArrayList<ArrayList<Integer>> list = new ArrayList<>(); ArrayList<Integer> last = new ArrayList<>(); if (numRows == 0) { return list; } for (int i=0;i<numRows;i++) { ArrayList<Integer> array = new ArrayList<>(); if (i > 1) { last = list.get(i-1); } for (int j=0;j<=i;j++) { if (j==0 || j==i) { array.add(1); }else{ array.add(last.get(j-1)+last.get(j)); } } list.add(array); } return list; } }