二分函数出来了,可不知道怎么找最前的一个
查看原帖
二分函数出来了,可不知道怎么找最前的一个
913288
3_14楼主2024/5/16 21:31

我的二分函数:

int search(int tar){
	int mi=0,ma=n-1;
	while(mi<=ma){
		int mid=(mi+ma)/2;
		if(a[mid]<tar)mi=mid+1; 
		else if(a[mid]>tar)ma=mid-1;
		else{
//			int cnt=a[mid];
//			if(mid-1>=0)
//				while(cnt==a[mid-1]&&mid>=0)
//					mid--;
			return mid;
		}
	}
	return -1;
}
2024/5/16 21:31
加载中...