Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
11
Task/Binary-search/Swift/binary-search-2.swift
Normal file
11
Task/Binary-search/Swift/binary-search-2.swift
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
func binarySearch<T: Comparable>(xs: [T], x: T) -> Int? {
|
||||
var (low, high) = (0, xs.count - 1)
|
||||
while low <= high {
|
||||
switch (low + high) / 2 {
|
||||
case let mid where xs[mid] > x: high = mid - 1
|
||||
case let mid where xs[mid] < x: low = mid + 1
|
||||
case let mid: return mid
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue