求数组中的最大数

一个数组,先是升序排列,在是降序排列,求其中最大的数,怎么做效率更高
全部评论
int getMax(int a[],  int left, int right) {     int i = left;     int j = right;     int max = a[i];     if (i == j)         return a[i];     while (i <= j)     {         int mid = (i + j) / 2;         if (mid > i&&mid < j)         {             if (a[mid]>a[mid - 1] && a[mid] > a[mid + 1])                 return a[mid];             else   if (a[mid]>a[mid - 1] && a[mid]<a[mid+1])             {                 i = mid + 1;             }             else  if (a[mid]<a[mid - 1] && a[mid]>a[mid + 1])             {                 j = mid - 1;             }         }         else if (mid == i&&mid == j)         {             return a[mid];         }         else if (mid == i&&mid<j)             return a[mid]>a[j] ? a[mid] : a[j];     } }
点赞 回复 分享
发布于 2017-09-18 19:48
二分
点赞 回复 分享
发布于 2017-09-18 19:03
2分吧,logn
点赞 回复 分享
发布于 2017-09-18 19:02
二分
点赞 回复 分享
发布于 2017-09-18 19:00

相关推荐

2025-12-18 11:59
门头沟学院 游戏策划
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务