mirror of
https://github.com/krahets/hello-algo.git
synced 2024-12-26 11:16:28 +08:00
c1adeb2399
* feat(go/dp): support climbing stairs * feat(go/dp): support knapsack * feat(go/dp): coin_change & edit_distance
57 lines
1.4 KiB
Go
57 lines
1.4 KiB
Go
// 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)
|
|
}
|