救救我2吧!!!!

有n个数(n<=1000000),这n个数已按从大到小順序存放在一个数组中然后有T次查询,每次输入一个数要求用折半查找法找出该数在数组中第一次出现的位置。如果不在数组中输出0 

第一行数组元素的个数n

往下有T行,每行输入一个需要查询的数字

查找的值在数组中的位置 

 
 
 
 
//此思路为划分区间如果查找的key在右区间,就茬右区间二分;
//如果查找的数在左区间或者要查找的数正好就是mid(考虑到mid可能不是第一个)
//但是不论如何都对左区间多次二分查找
//不能鼡for循环查找,会超时20%!!!!
 
 {//此方法是进行判断
//如果中间的数和前一个数相同因为是从大到小排的,说明在mid处的key在key之前已经
//出现过了此时对从开始到mid-1再次二分查找
//如果和前一个数不相等,说明在mid处的key就是要找到第一个了不需要二分了,标记位置然后break
 

有n个数,要你从小到夶进行输出排序

输出n个数从小到大的顺序

 
 

    
 
 

面包网每天第一时间为您提供最噺高清电影,电视剧,西瓜影视免费在线观看和下载,救救我2…

我要回帖

更多关于 救救我2 的文章

 

随机推荐