soumyasnigdhadas arr = [1,1,2,2,3,4,6,7] x = 2 count = 0 def binsearch(arr,x): left = 0 right = len(arr) – 1 while (left x): right = mid-1 elif(arr[mid] < x): left = mid+1 return -1 def n_occurs(arr,x,idx): c = 0 left = idx right = idx+1 while(left != 0): if(arr[left] == x): left = left – 1 c += 1 else: break while(right != len(arr)): if(arr[right] == x): right += 1 c += 1 else: break return c idx = binsearch(arr,x) if(idx != -1): count = n_occurs(arr,x,idx) print(count) Log in to Reply
arr = [1,1,2,2,3,4,6,7]
x = 2
count = 0
def binsearch(arr,x):
left = 0
right = len(arr) – 1
while (left x):
right = mid-1
elif(arr[mid] < x):
left = mid+1
return -1
def n_occurs(arr,x,idx):
c = 0
left = idx
right = idx+1
while(left != 0):
if(arr[left] == x):
left = left – 1
c += 1
else:
break
while(right != len(arr)):
if(arr[right] == x):
right += 1
c += 1
else:
break
return c
idx = binsearch(arr,x)
if(idx != -1):
count = n_occurs(arr,x,idx)
print(count)