September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
|
|
@ -1,14 +1,14 @@
|
|||
func binary_search(a, i) {
|
||||
|
||||
var l = 0;
|
||||
var h = a.end;
|
||||
var l = 0
|
||||
var h = a.end
|
||||
|
||||
while (l <= h) {
|
||||
var mid = (h+l / 2 -> int);
|
||||
a[mid] > i && (h = mid-1; next);
|
||||
a[mid] < i && (l = mid+1; next);
|
||||
return mid;
|
||||
var mid = (h+l / 2 -> int)
|
||||
a[mid] > i && (h = mid-1; next)
|
||||
a[mid] < i && (l = mid+1; next)
|
||||
return mid
|
||||
}
|
||||
|
||||
return -1;
|
||||
return -1
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,16 @@
|
|||
func binary_search(arr, value, low=0, high=arr.end) {
|
||||
high < low && return -1;
|
||||
var middle = (high+low / 2 -> int);
|
||||
high < low && return -1
|
||||
var middle = ((high+low) // 2)
|
||||
|
||||
if (value < arr[middle]) {
|
||||
return binary_search(arr, value, low, middle-1);
|
||||
given (arr[middle]) { |item|
|
||||
case (value < item) {
|
||||
binary_search(arr, value, low, middle-1)
|
||||
}
|
||||
case (value > item) {
|
||||
binary_search(arr, value, middle+1, high)
|
||||
}
|
||||
case (value == item) {
|
||||
middle
|
||||
}
|
||||
}
|
||||
elsif (value > arr[middle]) {
|
||||
return binary_search(arr, value, middle+1, high);
|
||||
}
|
||||
|
||||
return middle;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue