首页 > 其他 > 详细

YZM 二分查找

时间:2016-08-20 15:53:32      阅读:241      评论:0      收藏:0      [点我收藏+]
YZM 二分查找
难度级别:B; 运行时间限制:1000ms; 运行空间限制:256000KB; 代码长度限制:2000000B
试题描述

已知一个严格的上升数列a0,a1,a2,a3,a4...an;

请用二分法查找一个数m;输出查找次数

请注意:角标从1开始!

输入
一个数n
接下来a0,a1,a2,a3,a4...an
输出
输出最少需要查找几次
输入示例
8 19
4 9 12 19 20 26 29 33
输出示例
4
其他说明
输入输出都小于100000
 1 #include<iostream>
 2 using namespace std;
 3 int a[10000];
 4 int main()
 5 {
 6     int n,f,i,left,right,middle;
 7     cin>>n>>f;
 8     for(i=1;i<=n;i++) cin>>a[i];
 9     left=1;
10     right=n;
11     do{
12         middle=(left+right)/2;
13         if(f<=a[middle])
14             right=middle;
15         else left=middle+1;
16     }while(left<right);
17     cout<<left;
18     //system("pause");
19     return 0;
20 }

 

YZM 二分查找

原文:http://www.cnblogs.com/LZHE/p/5790418.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!