Skip to content

Commit 5f6a3af

Browse files
authored
feat: add swift implementation to lcof problem: No.11 (#2858)
1 parent 98beaf4 commit 5f6a3af

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed

lcof/面试题11. 旋转数组的最小数字/README.md

+22
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,28 @@ public class Solution {
206206
}
207207
```
208208

209+
#### Swift
210+
211+
```swift
212+
class Solution {
213+
func minArray(_ numbers: [Int]) -> Int {
214+
var l = 0
215+
var r = numbers.count - 1
216+
while l < r {
217+
let m = (l + r) / 2
218+
if numbers[m] > numbers[r] {
219+
l = m + 1
220+
} else if numbers[m] < numbers[r] {
221+
r = m
222+
} else {
223+
r -= 1
224+
}
225+
}
226+
return numbers[l]
227+
}
228+
}
229+
```
230+
209231
<!-- tabs:end -->
210232

211233
<!-- solution:end -->
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
class Solution {
2+
func minArray(_ numbers: [Int]) -> Int {
3+
var l = 0
4+
var r = numbers.count - 1
5+
while l < r {
6+
let m = (l + r) / 2
7+
if numbers[m] > numbers[r] {
8+
l = m + 1
9+
} else if numbers[m] < numbers[r] {
10+
r = m
11+
} else {
12+
r -= 1
13+
}
14+
}
15+
return numbers[l]
16+
}
17+
}

0 commit comments

Comments
 (0)