From da2b24487e97037e00c47ef0893c94f67b7bb8c0 Mon Sep 17 00:00:00 2001 From: Consini <2459971164@qq.com> Date: Wed, 11 Sep 2019 12:54:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=A8=E8=BE=89=E4=B8=89=E8=A7=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 09-10/src/Solution.java | 107 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 09-10/src/Solution.java diff --git a/09-10/src/Solution.java b/09-10/src/Solution.java new file mode 100644 index 0000000..059987a --- /dev/null +++ b/09-10/src/Solution.java @@ -0,0 +1,107 @@ +import java.util.ArrayList; +import java.util.List; + +/** + * @ClassName Solution + * 杨辉三角 + * @Author: K + * @create: 2019/9/10-20:46 + **/ +public class Solution { + public static List> generate1(int numRows){ + List> list = new ArrayList<>(); + for(int i = 0;i ()); + } + for(int i = 0;i > generate2(int numRows){ + List> list = new ArrayList<>(); + // 第一行 + list.add(new ArrayList<>()); + list.get(0).add(1); + // 第二行 + list.add(new ArrayList<>()); + list.get(1).add(1); + list.get(1).add(1); + // 其余行 + for(int i = 2;i < numRows;i++){ + list.add(new ArrayList<>()); + list.get(i).add(1); + for(int j = 1;j < i ;j++){ + int a = list.get(i - 1).get(j - 1); + int b = list.get(i - 1).get(j); + list.get(i).add(j,a + b); + } + list.get(i).add(1); + } + return list; + } + //提前计算的方法 + public static List> generate3(int numRows){ + List> list = new ArrayList<>(); + // 第一行 + list.add(new ArrayList<>()); + list.get(0).add(1); + // 第二行 + list.add(new ArrayList<>()); + list.get(1).add(1); + list.get(1).add(1); + // 第三行 + list.add(new ArrayList<>()); + list.get(2).add(1); + list.get(2).add(2); + list.get(2).add(1); + // 第四行 + list.add(new ArrayList<>()); + list.get(3).add(1); + list.get(3).add(3); + list.get(3).add(3); + list.get(3).add(1); + // 第五行 + list.add(new ArrayList<>()); + list.get(4).add(1); + list.get(4).add(4); + list.get(4).add(6); + list.get(4).add(4); + list.get(4).add(1); + // 判断 numRows 是否小于 5 + if(numRows == 5){ + return list; + } + if(numRows < 5){ + return list.subList(0,numRows); + } + // 其余行 + for(int i = 5;i < numRows;i++){ + list.add(new ArrayList<>()); + list.get(i).add(1); + for(int j = 1;j < i ;j++){ + int a = list.get(i - 1).get(j - 1); + int b = list.get(i - 1).get(j); + list.get(i).add(j,a + b); + } + list.get(i).add(1); + } + return list; + } + public static void main(String[] args) { + System.out.println(new Solution().generate1(6)); + System.out.println(new Solution().generate2(6)); + System.out.println(new Solution().generate3(6)); + } +}