Find First and Last Position of Element in Sorted Array (Leetcode 34)
Problem Link: https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/
class Solution:
def searchRange(self, nums: List[int], target: int) -> List[int]:
def fpbsearch(nums,target,i,j):
mid=(i+j)//2
while(i<=j):
if(nums[mid]==target):
self.fpos=mid
return fpbsearch(nums,target,i,mid-1)
elif(nums[mid]<target):
return fpbsearch(nums,target,mid+1,j)
elif(nums[mid]>target):
return fpbsearch(nums,target,i,mid-1)
def lpbsearch(nums,target,i,j):
mid=(i+j)//2
while(i<=j):
if(nums[mid]==target):
self.lpos=mid
return lpbsearch(nums,target,mid+1,j)
elif(nums[mid]<target):
return lpbsearch(nums,target,mid+1,j)
elif(nums[mid]>target):
return lpbsearch(nums,target,i,mid-1)
self.fpos=-1
self.lpos=-1
n=len(nums)
fpbsearch(nums,target,0,n-1)
lpbsearch(nums,target,0,n-1)
return [self.fpos,self.lpos]
Last updated