Given a sorted array of integers, find the starting and ending position of a given target value.
Your algorithm's runtime complexity must be in the order of O(log n).
If the target is not found in the array, return [-1, -1]
.
For example,
Given [5, 7, 7, 8, 8, 10]
and target value 8,
return [3, 4]
.
#include<stdio.h>
#include<stdlib.h>
int* searchRange(int A[], int n, int target) {
int* range=(int *)malloc(sizeof(int)*2);
int i,j;
for(i=0,j=n-1;i<=a;){
if(A[i]==target && A[j]==target){
range[0]=i;
range[1]=j;
return range;
}
else {
if(A[i]<target) i++;
if(A[j]>target) j--;
}
}
range[0]=range[1]=-1;
return range;
}
~