旋转数组的最小值
来源:互联网 发布:氨基酸洗面奶知乎 编辑:程序博客网 时间:2024/04/29 01:45
#include<stdio.h>
int Min(int *number,int length)
{
if(number==NULL||length<=0)
return 0;
int start=0;
int end=length-1;
int mid=start;
while(number[start]>=number[end])
{
if(end-start==1)
{
mid=end;
break;
}
{
start=mid;
}
if(number[mid]<=number[end])
{
end=mid;
}
}
return number[mid];
}
int main()
{
int arr[7]={6,7,1,2,3,4,5};
int length=sizeof(arr)/sizeof(arr[0]);
int min=Min(arr,length);
printf("%d",min);
return 0;
}
int Min(int *number,int length)
{
if(number==NULL||length<=0)
return 0;
int start=0;
int end=length-1;
int mid=start;
while(number[start]>=number[end])
{
if(end-start==1)
{
mid=end;
break;
}
int mid=(start+end)/2;
//如果start,end,mid三个值相同则顺序排序
if(number[start]==number[end]&&number[start]==number[mid])
{
return MinOrder(number,start,end);
}
if(number[mid]>=number[start]){
start=mid;
}
if(number[mid]<=number[end])
{
end=mid;
}
}
return number[mid];
}
int MinOrder(int *number ,int start,int end)
{
int result=number[start];
for(int i=start+1;i<=end;i++)
{
if(result>number[i])
{
result=number[i];
}
}
return result;
}
int main()
{
int arr[7]={6,7,1,2,3,4,5};
int length=sizeof(arr)/sizeof(arr[0]);
int min=Min(arr,length);
printf("%d",min);
return 0;
}
0 0
- 旋转数组的最小值
- 旋转数组的最小值
- 旋转数组的最小值
- 旋转数组的最小值
- 旋转数组的最小值
- 旋转数组的最小值
- 旋转数组的最小值
- 旋转数组的最小值
- 旋转数组的最小值
- 旋转数组的最小值
- 旋转数组的最小值
- 寻找旋转数组的最小值
- 输出旋转数组的最小值
- 旋转数组的最小值问题
- 求旋转数组的最小值
- 旋转数组的最小值输出
- 查找旋转数组的最小值
- 查找旋转数组的最小值
- 欢迎使用CSDN-markdown编辑器
- R语言_方差分析
- Java EE学习流程
- 洛谷1095 守望者的逃离
- 类
- 旋转数组的最小值
- 【白书之路】 排列 permutationy
- 设计模式学习之单例模式
- HTML5获取监控摄像头
- HashMap
- java volatile的一个验证反例
- J2EE开发模式
- Co-prime
- 新的开始,新的征程