We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent db4a995 commit c9ca66eCopy full SHA for c9ca66e
code/search/binarysearch.js
@@ -0,0 +1,29 @@
1
+function binarySearch(arr, target) {
2
+ if (!Array.isArray(arr)) return arr;
3
+
4
+ arr.sort((l, r) => l - r);
5
6
+ let left = 0;
7
+ let right = arr.length - 1;
8
+ let middle;
9
10
+ while (left <= right) {
11
+ middle = left + parseInt((right - left) / 2);
12
13
+ if (arr[middle] < target) {
14
+ left = middle + 1;
15
+ } else if (arr[middle] > target) {
16
+ right = middle - 1;
17
+ } else {
18
+ return middle;
19
+ }
20
21
22
+ return -1;
23
+}
24
25
+console.log(binarySearch([1, 2, 5], 5));
26
+console.log(binarySearch([1], 5));
27
+console.log(binarySearch([1, 5], 1));
28
+console.log(binarySearch([1, 5], 5));
29
+console.log(binarySearch([]));
0 commit comments