Skip to content

Commit fe1d68c

Browse files
committed
--update: added binary search
1 parent fb2dd2b commit fe1d68c

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

Diff for: src/Searching/BinarySearch/index.js

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/**
2+
* Note: Array must be sorted for binary search
3+
*/
4+
function binarySearch(arr, key) {
5+
let low = 0;
6+
let high = arr.length - 1;
7+
8+
while (low <= high) {
9+
let mid = Math.floor((low + high) / 2);
10+
11+
if (key < arr[mid]) {
12+
high = mid - 1;
13+
} else if (key > arr[mid]) {
14+
low = mid + 1;
15+
} else {
16+
// return the key
17+
return mid;
18+
}
19+
}
20+
return null;
21+
}

0 commit comments

Comments
 (0)