Add solution for neetcode: binary search

This commit is contained in:
pro100ton 2025-02-19 23:32:54 +03:00
parent e37b949c18
commit 64108ba422
2 changed files with 45 additions and 0 deletions

View file

@ -0,0 +1,21 @@
Binary Search
You are given an array of distinct integers nums, sorted in ascending order, and an integer target.
Implement a function to search for target within nums. If it exists, then return its index, otherwise, return -1.
Your solution must run in O(logn) time.
Example 1:
Input: nums = [-1,0,2,4,6,8], target = 4
Output: 3
Example 2:
Input: nums = [-1,0,2,4,6,8], target = 3
Output: -1
Constraints:
1 <= nums.length <= 10000.
-10000 < nums[i], target < 10000

View file

@ -0,0 +1,24 @@
from typing import List
class Solution:
def search(self, nums: List[int], target: int) -> int:
left = 0
right = len(nums) - 1
while left <= right:
mid = (right + left) // 2
if target < nums[mid]:
right = mid - 1
elif target > nums[mid]:
left = mid + 1
else:
return mid
return -1
s = Solution()
# nums = [-1, 0, 2, 4, 6, 8]
# print(s.search(nums, 4))
# print(s.search(nums, 3))
nums = [-1, 0, 3, 5, 9, 12]
print(s.search(nums, 9))