mirror of
https://github.com/krahets/hello-algo.git
synced 2026-08-22 00:07:13 +00:00
feat(go/dp): support dynamic programming (#622)
* feat(go/dp): support climbing stairs * feat(go/dp): support knapsack * feat(go/dp): coin_change & edit_distance
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
// File: climbing_stairs_test.go
|
||||
// Created Time: 2023-07-18
|
||||
// Author: Reanon (793584285@qq.com)
|
||||
|
||||
package chapter_dynamic_programming
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestClimbingStairsBacktrack(t *testing.T) {
|
||||
n := 9
|
||||
res := climbingStairsBacktrack(n)
|
||||
fmt.Printf("爬 %d 阶楼梯共有 %d 种方案\n", n, res)
|
||||
}
|
||||
|
||||
func TestClimbingStairsDFS(t *testing.T) {
|
||||
n := 9
|
||||
res := climbingStairsDFS(n)
|
||||
fmt.Printf("爬 %d 阶楼梯共有 %d 种方案\n", n, res)
|
||||
}
|
||||
|
||||
func TestClimbingStairsDFSMem(t *testing.T) {
|
||||
n := 9
|
||||
res := climbingStairsDFSMem(n)
|
||||
fmt.Printf("爬 %d 阶楼梯共有 %d 种方案\n", n, res)
|
||||
}
|
||||
|
||||
func TestClimbingStairsDP(t *testing.T) {
|
||||
n := 9
|
||||
res := climbingStairsDP(n)
|
||||
fmt.Printf("爬 %d 阶楼梯共有 %d 种方案\n", n, res)
|
||||
}
|
||||
|
||||
func TestClimbingStairsDPComp(t *testing.T) {
|
||||
n := 9
|
||||
res := climbingStairsDPComp(n)
|
||||
fmt.Printf("爬 %d 阶楼梯共有 %d 种方案\n", n, res)
|
||||
}
|
||||
|
||||
func TestClimbingStairsConstraintDP(t *testing.T) {
|
||||
n := 9
|
||||
res := climbingStairsConstraintDP(n)
|
||||
fmt.Printf("爬 %d 阶楼梯共有 %d 种方案\n", n, res)
|
||||
}
|
||||
|
||||
func TestMinCostClimbingStairsDPComp(t *testing.T) {
|
||||
cost := []int{0, 1, 10, 1, 1, 1, 10, 1, 1, 10, 1}
|
||||
fmt.Printf("输入楼梯的代价列表为 %v\n", cost)
|
||||
|
||||
res := minCostClimbingStairsDP(cost)
|
||||
fmt.Printf("爬完楼梯的最低代价为 %d\n", res)
|
||||
|
||||
res = minCostClimbingStairsDPComp(cost)
|
||||
fmt.Printf("爬完楼梯的最低代价为 %d\n", res)
|
||||
}
|
||||
Reference in New Issue
Block a user