首页 > 学院 > 开发设计 > 正文

旋转数组的最小值

2019-11-06 08:46:34
字体:
来源:转载
供稿:网友

int Min(int* numbers,int length){

if(numbers==NULL||length<=0)throw new std::exception("Invalid parameters");int index1=0;int index2=length-1;int indexMid=index1;while(numbers[index1]>=numbers[index2]){if(index2-index1==1){indexMid=index2;break;}indexMid=(index1+index2)/2;if(numbers[indexMid]>=numbers[index1]){index1=indexMid;}else if(numbers[indexMid]<=numbers[index2]){index2=indexMid;}}return numbers[indexMid];}//旋转数组的最小值
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表