mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 08:50:15 +08:00
Update 0509.斐波那契数.md
This commit is contained in:
@ -347,26 +347,32 @@ int fib(int n){
|
||||
### Rust
|
||||
动态规划:
|
||||
```Rust
|
||||
pub fn fib(n: i32) -> i32 {
|
||||
let n = n as usize;
|
||||
let mut dp = vec![0; 31];
|
||||
dp[1] = 1;
|
||||
for i in 2..=n {
|
||||
dp[i] = dp[i - 1] + dp[i - 2];
|
||||
impl Solution {
|
||||
pub fn fib(n: i32) -> i32 {
|
||||
if n <= 1 {
|
||||
return n;
|
||||
}
|
||||
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
|
||||
pub fn fib(n: i32) -> i32 {
|
||||
//若n小于等于1,返回n
|
||||
f n <= 1 {
|
||||
return n;
|
||||
impl Solution {
|
||||
pub fn fib(n: i32) -> i32 {
|
||||
if n <= 1 {
|
||||
n
|
||||
} else {
|
||||
Self::fib(n - 1) + Self::fib(n - 2)
|
||||
}
|
||||
}
|
||||
//否则返回fib(n-1) + fib(n-2)
|
||||
return fib(n - 1) + fib(n - 2);
|
||||
}
|
||||
```
|
||||
|
||||
|
Reference in New Issue
Block a user