Skip to content

Instantly share code, notes, and snippets.

@GeorgeLyon
Created May 17, 2019 00:39
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save GeorgeLyon/cad550bad187addb60bb8ff43ca767fe to your computer and use it in GitHub Desktop.
Save GeorgeLyon/cad550bad187addb60bb8ff43ca767fe to your computer and use it in GitHub Desktop.
var range = 0...elements.count
while range.count > 1 {
let pivot = (range.lowerBound + range.upperBound)/2
if areInIncreasingOrder(elements[pivot], element) {
range = (pivot + 1)...range.upperBound
} else if areInIncreasingOrder(element, elements[pivot]) {
range = range.lowerBound...pivot
} else {
range = pivot...pivot
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment