Skip to content

Instantly share code, notes, and snippets.

@dariodip
Last active March 20, 2021 13:42
Show Gist options
  • Save dariodip/d54976e361fec510afe68a64cfa90e82 to your computer and use it in GitHub Desktop.
Save dariodip/d54976e361fec510afe68a64cfa90e82 to your computer and use it in GitHub Desktop.
Binary Search
int bsa(int a[], int n, int t) {
int lft = 0, rgt = n - 1;
while (lft <= rgt) {
int m = (lft + rgt) / 2;
if (a[m] < t) {
lft = m + 1;
} else if (a[m] > t) {
rgt = m - 1;
} else {
return m;
}
}
return -1;
import math
func bsa(a []int, n int, t int) int {
lft := 0
rgt := n - 1
for lft <= rgt {
m := int(math.Floor(float64((lft + rgt) / 2)))
if a[m] < t {
lft = m + 1
} else if a[m] > t {
rgt = m - 1
} else {
return m
}
}
return -1
}
from math import floor
def bsa(a, n, t):
lft = 0
rgt = n -1
while lft <= rgt:
m = floor((lft + rgt) / 2)
if a[m] < t:
lft = m+1
elif a[m] > t:
rgt = m-1
else:
return m
return -1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment