File tree Expand file tree Collapse file tree 1 file changed +21
-20
lines changed
src/main/java/com/fishercoder/solutions Expand file tree Collapse file tree 1 file changed +21
-20
lines changed Original file line number Diff line number Diff line change 1
1
package com .fishercoder .solutions ;
2
2
import java .util .*;
3
3
4
- /**Given numRows, generate the first numRows of Pascal's triangle.
4
+ /**
5
+ * 118. Pascal's Triangle
6
+ * Given numRows, generate the first numRows of Pascal's triangle.
5
7
6
8
For example, given numRows = 5,
7
9
Return
12
14
[1,2,1],
13
15
[1,3,3,1],
14
16
[1,4,6,4,1]
15
- ]*/
17
+ ]
18
+
19
+ */
16
20
public class _118 {
17
21
18
- public static List <List <Integer >> generate (int numRows ) {
22
+ public List <List <Integer >> generate (int numRows ) {
19
23
List <List <Integer >> result = new ArrayList ();
20
- if (numRows < 1 ) return result ;
21
- List <Integer > row = new ArrayList ();
22
- row .add (1 );
23
- result .add (row );
24
- for (int i = 1 ; i < numRows ; i ++){
25
- List <Integer > newRow = new ArrayList ();
26
- newRow .add (1 );
27
- List <Integer > lastRow = result .get (i -1 );
28
- for (int j = 1 ; j < lastRow .size (); j ++){
29
- newRow .add (lastRow .get (j -1 ) + lastRow .get (j ));
24
+ int len = 1 ;
25
+ for (int i = 0 ; i < numRows ; i ++) {
26
+ List <Integer > row = new ArrayList (len );
27
+ row .add (1 );
28
+ if (i > 0 ) {
29
+ List <Integer > lastRow = result .get (i - 1 );
30
+ for (int j = 1 ; j < len ; j ++) {
31
+ if (j < lastRow .size ()) {
32
+ row .add (lastRow .get (j - 1 ) + lastRow .get (j ));
33
+ }
34
+ }
35
+ row .add (1 );
30
36
}
31
- newRow .add (1 );
32
- result . add ( newRow ) ;
37
+ result .add (row );
38
+ len ++ ;
33
39
}
34
40
return result ;
35
41
}
36
-
37
- public static void main (String ...strings ){
38
- int numRows = 2 ;
39
- generate (numRows );
40
- }
41
42
}
You can’t perform that action at this time.
0 commit comments