File tree Expand file tree Collapse file tree 1 file changed +52
-0
lines changed
src/main/java/com/leetcode/arrays Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Original file line number Diff line number Diff line change 1+ package com .leetcode .arrays ;
2+
3+ import java .util .ArrayList ;
4+ import java .util .List ;
5+
6+ /**
7+ * Problem: https://leetcode.com/problems/pascals-triangle/
8+ *
9+ * @author rampatra
10+ * @since 2019-04-20
11+ */
12+ public class PascalsTriangle {
13+
14+ /**
15+ * Time complexity: O(numRows^2)
16+ * Space complexity: O(numRows^2)
17+ * <p>
18+ * Runtime: <a href="https://leetcode.com/submissions/detail/223784377/">0 ms</a>.
19+ *
20+ * @param numRows
21+ * @return
22+ */
23+ public static List <List <Integer >> generatePascalsTriangle (int numRows ) {
24+ List <List <Integer >> pascalsTriangle = new ArrayList <>();
25+
26+ if (numRows == 0 ) return pascalsTriangle ;
27+
28+ List <Integer > firstRow = new ArrayList <>();
29+ firstRow .add (1 );
30+ pascalsTriangle .add (firstRow );
31+
32+ List <Integer > prevRow ;
33+ for (int i = 1 ; i < numRows ; i ++) {
34+ prevRow = pascalsTriangle .get (i - 1 );
35+
36+ List <Integer > currRow = new ArrayList <>();
37+ currRow .add (1 );
38+ for (int j = 0 ; j < prevRow .size () - 1 ; j ++) {
39+ currRow .add (prevRow .get (j ) + prevRow .get (j + 1 ));
40+ }
41+ currRow .add (1 );
42+
43+ pascalsTriangle .add (currRow );
44+ }
45+
46+ return pascalsTriangle ;
47+ }
48+
49+ public static void main (String [] args ) {
50+ System .out .println (generatePascalsTriangle (5 ));
51+ }
52+ }
You can’t perform that action at this time.
0 commit comments