Skip to content

Commit afab655

Browse files
committed
feat: add solutions to lc problem: No.0509
No.0509.Fibonacci Number
1 parent 6e01a04 commit afab655

File tree

4 files changed

+120
-0
lines changed

4 files changed

+120
-0
lines changed

solution/0500-0599/0509.Fibonacci Number/README.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,56 @@ var fib = function (n) {
134134
};
135135
```
136136

137+
### **TypeScript**
138+
139+
```ts
140+
function fib(n: number): number {
141+
let a = 0;
142+
let b = 1
143+
for (let i = 0; i < n; i++) {
144+
[a, b] = [b, a + b]
145+
}
146+
return a
147+
};
148+
```
149+
150+
```ts
151+
function fib(n: number): number {
152+
if (n < 2) {
153+
return n;
154+
}
155+
return fib(n - 1) + fib(n - 2)
156+
};
157+
```
158+
159+
### **Rust**
160+
161+
```rust
162+
impl Solution {
163+
pub fn fib(n: i32) -> i32 {
164+
let mut a = 0;
165+
let mut b = 1;
166+
for _ in 0..n {
167+
let t = b;
168+
b = a + b;
169+
a = t
170+
}
171+
a
172+
}
173+
}
174+
```
175+
176+
```rust
177+
impl Solution {
178+
pub fn fib(n: i32) -> i32 {
179+
if n < 2 {
180+
return n;
181+
}
182+
Self::fib(n - 1) + Self::fib(n - 2)
183+
}
184+
}
185+
```
186+
137187
### **...**
138188

139189
```

solution/0500-0599/0509.Fibonacci Number/README_EN.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,56 @@ var fib = function (n) {
124124
};
125125
```
126126

127+
### **TypeScript**
128+
129+
```ts
130+
function fib(n: number): number {
131+
let a = 0;
132+
let b = 1
133+
for (let i = 0; i < n; i++) {
134+
[a, b] = [b, a + b]
135+
}
136+
return a
137+
};
138+
```
139+
140+
```ts
141+
function fib(n: number): number {
142+
if (n < 2) {
143+
return n;
144+
}
145+
return fib(n - 1) + fib(n - 2)
146+
};
147+
```
148+
149+
### **Rust**
150+
151+
```rust
152+
impl Solution {
153+
pub fn fib(n: i32) -> i32 {
154+
let mut a = 0;
155+
let mut b = 1;
156+
for _ in 0..n {
157+
let t = b;
158+
b = a + b;
159+
a = t
160+
}
161+
a
162+
}
163+
}
164+
```
165+
166+
```rust
167+
impl Solution {
168+
pub fn fib(n: i32) -> i32 {
169+
if n < 2 {
170+
return n;
171+
}
172+
Self::fib(n - 1) + Self::fib(n - 2)
173+
}
174+
}
175+
```
176+
127177
### **...**
128178

129179
```
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
impl Solution {
2+
pub fn fib(n: i32) -> i32 {
3+
let mut a = 0;
4+
let mut b = 1;
5+
for _ in 0..n {
6+
let t = b;
7+
b = a + b;
8+
a = t
9+
}
10+
a
11+
}
12+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
function fib(n: number): number {
2+
let a = 0;
3+
let b = 1;
4+
for (let i = 0; i < n; i++) {
5+
[a, b] = [a, a + b];
6+
}
7+
return a;
8+
}

0 commit comments

Comments
 (0)