Skip to content

Commit ea970a1

Browse files
committed
118. Pascal's Triangle
1 parent 2b12b97 commit ea970a1

File tree

3 files changed

+42
-0
lines changed

3 files changed

+42
-0
lines changed

pascal-triangle/Readme.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# 118. Pascal's Triangle
2+
3+
Read more: https://leetcode.com/problems/pascals-triangle/description/

pascal-triangle/main.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package leetcode
2+
3+
func generate(numRows int) [][]int {
4+
temp := 1
5+
var ret = [][]int{}
6+
for i := 0; i < numRows; i++ {
7+
var row = []int{}
8+
for k := 0; k <= i; k++ {
9+
if k == 0 || i == 0 {
10+
temp = 1
11+
} else {
12+
temp = temp * (i - k + 1) / k
13+
}
14+
row = append(row, temp)
15+
}
16+
ret = append(ret, row)
17+
}
18+
return ret
19+
}

pascal-triangle/main_test.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package leetcode
2+
3+
import (
4+
"reflect"
5+
"testing"
6+
)
7+
8+
func TestGenerate(t *testing.T) {
9+
expected := [][]int{
10+
{1},
11+
{1, 1},
12+
{1, 2, 1},
13+
{1, 3, 3, 1},
14+
{1, 4, 6, 4, 1},
15+
}
16+
actual := generate(5)
17+
if !reflect.DeepEqual(actual, expected) {
18+
t.Errorf("expects: %v, but gets: %v", expected, actual)
19+
}
20+
}

0 commit comments

Comments
 (0)