首页 > 代码库 > Search for a Range

Search for a Range

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;
}
~  


Search for a Range