use std::collections::HashMap;
const MEMO: HashMap<i32, i32> = HashMap::new();
impl Solution {
pub fn climb_stairs(n: i32) -> i32 {
if (MEMO.contains_key(&n)) {
return *MEMO.get(&n).unwrap()
}
if n == 1 {
return 1
}
if n == 2 {
return 2
}
let cache_value = Self::climb_stairs(n-1) + Self::climb_stairs(n-2);
MEMO.insert(n, cache_value);
return cache_value
}
}
Rust 爬楼梯递归与缓存实现
更新于
公开 · 所有人可见