mirror of
				https://github.com/krahets/hello-algo.git
				synced 2025-11-04 06:07:20 +08:00 
			
		
		
		
	* 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
		
			
				
	
	
		
			33 lines
		
	
	
		
			624 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			33 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) 种方案")
 | 
						||
    }
 | 
						||
}
 |