mirror of
https://github.com/krahets/hello-algo.git
synced 2024-12-25 12:46:29 +08:00
9ea8a73059
* feat: add Swift codes for intro_to_dynamic_programming article * feat: add Swift codes for dp_problem_features article * feat: add Swift codes for dp_solution_pipeline article * feat: add Swift codes for knapsack_problem article * feat: add Swift codes for unbounded_knapsack_problem article * feat: add Swift codes for edit_distance_problem article
32 lines
624 B
Swift
32 lines
624 B
Swift
/**
|
||
* File: climbing_stairs_dfs.swift
|
||
* Created Time: 2023-07-15
|
||
* Author: nuomi1 (nuomi1@qq.com)
|
||
*/
|
||
|
||
/* 搜索 */
|
||
func dfs(i: Int) -> Int {
|
||
// 已知 dp[1] 和 dp[2] ,返回之
|
||
if i == 1 || i == 2 {
|
||
return i
|
||
}
|
||
// dp[i] = dp[i-1] + dp[i-2]
|
||
let count = dfs(i: i - 1) + dfs(i: i - 2)
|
||
return count
|
||
}
|
||
|
||
/* 爬楼梯:搜索 */
|
||
func climbingStairsDFS(n: Int) -> Int {
|
||
dfs(i: n)
|
||
}
|
||
|
||
@main
|
||
enum ClimbingStairsDFS {
|
||
/* Driver Code */
|
||
static func main() {
|
||
let n = 9
|
||
|
||
let res = climbingStairsDFS(n: n)
|
||
print("爬 \(n) 阶楼梯共有 \(res) 种方案")
|
||
}
|
||
}
|