/**
	 * 
	 * @param data int整型一维数组 
	 * @param dataLen int data数组长度
	 * @param k int整型 
	 * @return int整型
	 *
	 * C语言声明定义全局变量请加上static,防止重复定义
	 */
	int GetNumberOfK(int* data, int dataLen, int k ) {                                             //简单粗暴的思路,先找到目标target值的任意一个位置,再分别往左往右找
	    int start=0,end=dataLen-1;
	    int left=0,right=1;
	    for(int i=start;i<=end;i++){
	     int mid=(start+end)/2;
	     if(data[mid]>k){
	     end=mid;
	 }
	 if(data[mid]<k){
	 start=mid;
	 }
	 if(data[mid]==k){                                             //找到值的时候记得break;
	 left=mid;
	 right=mid;
	 printf("mid=%d\n",mid);
	 while(data[left]==k){
	 left--;
	 }
	 while(data[right]==k){
	 right++;
	 }
	 printf("left=%d right=%d\n",left,right);
	 break;
	 }
	 }
	 return right-left-1;
	}

 京公网安备 11010502036488号
京公网安备 11010502036488号