File tree Expand file tree Collapse file tree 1 file changed +13
-9
lines changed
neetcodeio/algostructybeginners/Lv4-BinarySearch Expand file tree Collapse file tree 1 file changed +13
-9
lines changed Original file line number Diff line number Diff line change 1
- import math
2
-
1
+ import math , random
3
2
4
3
class Solution :
5
4
def binary_search (self , arr , val ):
6
5
left = 0
7
6
right = len (arr ) - 1
8
7
while left <= right :
9
- mid = int (math .ceil ((right - left ) // 2 ))
10
- if arr [mid ] == val :
11
- return mid
8
+ mid = (right + left ) // 2
12
9
if val > arr [mid ]:
13
-
14
-
10
+ left = mid + 1
11
+ elif val < arr [mid ]:
12
+ right = mid - 1
13
+ else :
14
+ return mid
15
+ return - 1
15
16
16
- arr = [i for i in range (1 , 101 )]
17
+ arr = [i for i in range (- 100 , 100 )]
17
18
sol = Solution ()
18
- sol .binary_search (arr , val )
19
+ index = sol .binary_search (arr , 10 )
20
+ assert sol .binary_search (arr , val = 10 ) != - 1 # Found
21
+ index = sol .binary_search (arr , 400 )
22
+ assert sol .binary_search (arr , val = 400 ) == - 1 # Not Found
You can’t perform that action at this time.
0 commit comments