Skip to content

Commit 1fdf6c1

Browse files
authored
feat: add swift implementation to lcof2 problem: No.089 (#3475)
1 parent 411b6bf commit 1fdf6c1

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

lcof2/剑指 Offer II 089. 房屋偷盗/README.md

+21
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,27 @@ impl Solution {
168168
}
169169
```
170170

171+
#### Swift
172+
173+
```swift
174+
class Solution {
175+
func rob(_ nums: [Int]) -> Int {
176+
let n = nums.count
177+
if n == 0 { return 0 }
178+
if n == 1 { return nums[0] }
179+
180+
var f = Array(repeating: 0, count: n + 1)
181+
f[1] = nums[0]
182+
183+
for i in 2...n {
184+
f[i] = max(f[i - 1], f[i - 2] + nums[i - 1])
185+
}
186+
187+
return f[n]
188+
}
189+
}
190+
```
191+
171192
<!-- tabs:end -->
172193

173194
<!-- solution:end -->
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
class Solution {
2+
func rob(_ nums: [Int]) -> Int {
3+
let n = nums.count
4+
if n == 0 { return 0 }
5+
if n == 1 { return nums[0] }
6+
7+
var f = Array(repeating: 0, count: n + 1)
8+
f[1] = nums[0]
9+
10+
for i in 2...n {
11+
f[i] = max(f[i - 1], f[i - 2] + nums[i - 1])
12+
}
13+
14+
return f[n]
15+
}
16+
}

0 commit comments

Comments
 (0)