Update 0509.斐波那契数.md

This commit is contained in:
fw_qaq
2023-04-09 23:11:11 +08:00
committed by GitHub
parent ba03a17e68
commit e1e695e78d

View File

@ -347,26 +347,32 @@ int fib(int n){
### Rust ### Rust
动态规划: 动态规划:
```Rust ```Rust
pub fn fib(n: i32) -> i32 { impl Solution {
let n = n as usize; pub fn fib(n: i32) -> i32 {
let mut dp = vec![0; 31]; if n <= 1 {
dp[1] = 1; return n;
for i in 2..=n { }
dp[i] = dp[i - 1] + dp[i - 2]; let n = n as usize;
let mut dp = vec![0; n + 1];
dp[1] = 1;
for i in 2..=n {
dp[i] = dp[i - 2] + dp[i - 1];
}
dp[n]
} }
dp[n]
} }
``` ```
递归实现: 递归实现:
```Rust ```Rust
pub fn fib(n: i32) -> i32 { impl Solution {
//若n小于等于1返回n pub fn fib(n: i32) -> i32 {
f n <= 1 { if n <= 1 {
return n; n
} else {
Self::fib(n - 1) + Self::fib(n - 2)
}
} }
//否则返回fib(n-1) + fib(n-2)
return fib(n - 1) + fib(n - 2);
} }
``` ```