Leetcode Note: Go - Pascals Triangle II
Pascal’s Triangle II - LeetCode
https://leetcode.com/problems/pascals-triangle-ii/
- Go 言語で取り組んだメモ
所感
- 前回のコードをカスタマイズすれば実現できそう
実装準備
func getRow(rowIndex int) []int {
return []int{}
}
func main() {
rowIndex := 3 // [1,3,3,1]
fmt.Println(getRow(rowIndex))
}
回答
func getRow(rowIndex int) []int {
triangle := [][]int{}
for i := 0; i <= rowIndex; i++ {
for j := 0; j < i+1; j++ {
if j == 0 {
triangle = append(triangle, []int{1})
} else {
if j == i {
triangle[i] = append(triangle[i], 1)
} else {
triangle[i] = append(triangle[i], triangle[i-1][j] + triangle[i-1][j-1])
}
}
}
}
return triangle[rowIndex]
}
- ループを回す回数を rowIndex にして、最後に算出した Row を return すれば OK
- パスカルの三角形が分かっていれば簡単