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:
Reanon
2023-07-24 03:08:35 +08:00
committed by GitHub
parent 10e5e7499b
commit c1adeb2399
17 changed files with 888 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
// File: climbing_stairs_dfs.go
// Created Time: 2023-07-18
// Author: Reanon (793584285@qq.com)
package chapter_dynamic_programming
/* 搜索 */
func dfs(i int) int {
// 已知 dp[1] 和 dp[2] ,返回之
if i == 1 || i == 2 {
return i
}
// dp[i] = dp[i-1] + dp[i-2]
count := dfs(i-1) + dfs(i-2)
return count
}
/* 爬楼梯:搜索 */
func climbingStairsDFS(n int) int {
return dfs(n)
}