Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 7d454bc

Browse files
feat: add swift implementation to lcof2 problem: No.093 (doocs#3479)
1 parent 1984167 commit 7d454bc

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed

‎lcof2/剑指 Offer II 093. 最长斐波那契数列/README.md‎

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,35 @@ func lenLongestFibSubseq(arr []int) int {
188188
}
189189
```
190190

191+
#### Swift
192+
193+
```swift
194+
class Solution {
195+
func lenLongestFibSubseq(_ arr: [Int]) -> Int {
196+
let n = arr.count
197+
var mp = [Int: Int]()
198+
for i in 0..<n {
199+
mp[arr[i]] = i
200+
}
201+
202+
var dp = Array(repeating: Array(repeating: 2, count: n), count: n)
203+
var ans = 0
204+
205+
for i in 0..<n {
206+
for j in 0..<i {
207+
let delta = arr[i] - arr[j]
208+
if let k = mp[delta], k < j {
209+
dp[j][i] = dp[k][j] + 1
210+
ans = max(ans, dp[j][i])
211+
}
212+
}
213+
}
214+
215+
return ans > 2 ? ans : 0
216+
}
217+
}
218+
```
219+
191220
<!-- tabs:end -->
192221

193222
<!-- solution:end -->
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
class Solution {
2+
func lenLongestFibSubseq(_ arr: [Int]) -> Int {
3+
let n = arr.count
4+
var mp = [Int: Int]()
5+
for i in 0..<n {
6+
mp[arr[i]] = i
7+
}
8+
9+
var dp = Array(repeating: Array(repeating: 2, count: n), count: n)
10+
var ans = 0
11+
12+
for i in 0..<n {
13+
for j in 0..<i {
14+
let delta = arr[i] - arr[j]
15+
if let k = mp[delta], k < j {
16+
dp[j][i] = dp[k][j] + 1
17+
ans = max(ans, dp[j][i])
18+
}
19+
}
20+
}
21+
22+
return ans > 2 ? ans : 0
23+
}
24+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /