* Array will be automatically sorted
Algorithm Code
Time: O(log n) | Space: O(1)
1function binarySearch(arr, target) {
2 left = 0
3 right = arr.length - 1
4
5 while (left <= right) {
6 mid = Math.floor((left + right) / 2)
7
8 if (arr[mid] === target) {
9 return mid
10 } else if (arr[mid] < target) {
11 left = mid + 1
12 } else {
13 right = mid - 1
14 }
15 }
16 return -1
17}Algorithm Steps
Step 1 of 3
1
Initializepointers: left=0, right=6
2
Calculate mid = Math.floor((0 + 6) / 2) = 3. Check arr[3] = 7
3
Target 7 found at index 3!
Binary Search
Target: 7
Left: 0 | Mid: None | Right: 6
LEFT
1
[0]
3
[1]
5
[2]
7
[3]
9
[4]
11
[5]
RIGHT
13
[6]
Left Bound
Mid Point
Right Bound
Found
Excluded
Step 0 of 20%
0.25x4x