We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent fb2dd2b commit fe1d68cCopy full SHA for fe1d68c
src/Searching/BinarySearch/index.js
@@ -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