题目:给一个数组例如A[] = {1,2,3,4,5,4,1},前面部分是按序递增,后面部分是按序递减,求该数组的最大值。

思路分析:对于给定一组数的求最大值问题,可以使用简单插入,简单选择,冒泡,堆排序对其进行一次操作,可以求出最大值。经分析,时间复杂度为O(n).对数组特征分析,数组是“中间大,两边小”特征,部分有序,可以考虑使用折半查找算法进行处理。

基于折半查找的算法可以根据比较元素个数有两个解决办法,这样时间复杂度可以降低到logN。具体如下:

方法一:当中间元素和右边相邻元素比较时,如果比右边大,则要查找最大值在中间位置和其左边位置的区间内,右边界设置为中间值,反之在中间值位置和其右边边界的区间,左边界设置为中间值位置。如此循环,当边界差值为1时对应的中间值即为所求最大值。实现代码如方法一。

int fun(int a[], int n) { // 1,2,3,4,5,4,1if(n<=0)return 0;if(n==1)return a[0];int low =0,high = n-1;int mid ;while((low < high)&&(high - low !=1) ){mid = (low+high)/2;if(a[mid]<a[mid+1])low = mid;else high = mid;  }return a[mid] ;
}

方法二:考虑用中间值和左右元素分别进行比较,当中间元素比左边元素大而比右边元素大时,中间元素即可所求最大值;若中间元素比左边大而左边小时,所求最大值在中间值和其右边区间,左边界位置变为中间值位置;若中间元素位置比左边小二比右边大时候,最大值在左边界位置到中间值位置的区间,此时右边界变为中间值位置。具体实现如下:

int fun2(int a[], int n) { // 1,2,3,4,5,4,1if(n<=0)return 0;if(n==1)return a[0];if(n==2)
        return a[0]?a[1] a[0]:a[1]; int low =0,high = n-1;int mid ;while(low<high){mid = (low+high)/2;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])low = mid;else high = mid;  }
}

面试记录 1 美团电话面试相关推荐

  1. 2019腾讯实习笔试题部分记录+两次电话面试笔记

    第一题:有n层的一座塔,跳塔 有n层的一座塔,每层高度不一样,现在小Q去爬塔,有如下特性:他爬塔的速度恒定,也就是说爬每一层的用时和这一层的高度成正比.但是他有一个能力:他可以有一种魔法,这个魔法可以 ...

  2. 美团网面试流程android,美团网面试经验

    面试过程: 如果面试通过,美团面试流程挺快的,三天内就可以完成三面. 本人211本,985硕,之前有过美的.京东实习三个月经验. 3月22笔试,4月27收到一面通知,28一面,29二面电话,30加面视 ...

  3. (2020.9.28)面试记录:软件测试实习生--面试记录

    公历2020年9月28日 星期一 晴 前一天收到了电话,前三天才做了笔试,属实有点快,投简历在半个月之内 随着10:30的到来,心情越发紧张,这次面试没做很多的准备,只是面试前几个小时,把测试的基础看 ...

  4. 【人事】电话面试时需要注意什么

    部分企业人事部收到求职者简历后,会预先进行一轮电话面试,来考察求职者的综合素质,因此了解懂得求职面试的基本技巧,将会让求职者更顺利的通过电面这关,得到参加面试的机会.电话面试时需要注意的地方,主要是一 ...

  5. 一次电话面试的问题总结

    记录一次电话面试问的问题,当时有点紧张,有点懵逼,后来总结一下,问的问题比较基础,太失败 ┭┮﹏┭┮ 1.get和post区别 GET POST 后退按钮/刷新 无害 数据会被重新提交(浏览器应该告知 ...

  6. 2019上海爱奇艺大数据Java实习生-面试记录

    目录 一轮 电话面试 二轮 代码笔试 三轮 技术面试 总结 附:电话面试问题点解惑 补充:面试未通过 一轮 电话面试 2019.04.28 16:21 [w]:面试官,[m]:我,下面的内容来自电话录 ...

  7. (人事)电话面试时需要注意什么\真诚、自然、礼貌就好

    {人事}电话面试时需要注意什么 部分企业人事部收到求职者简历后,会预先进行一轮电话面试,来考察求职者的综合素质,因此了解懂得求职面试的基本技巧,将会让求职者更顺利的通过电面这关,得到参加面试的机会.电 ...

  8. 声网电话面试的总结,技术面, 声网20min(c/c++算法工程化类职位) (一面通过拿到实习offer)

    刚结束的电话面试. 声网. 面试结果:一面通过 听声音是一个经验丰富的大叔 . 比较认真且标准的技术人员的感觉 . (除了问实习时间外没有问别的多余的东西) 本人是acm铜牌选手,但是在本次面试数据结 ...

  9. 2014年实习生招聘之百度上海研发中心实习生招聘电话面试—2014/04/18

    作者:Bryant Lei 出处:http://blog.csdn.net/bryantlei 电话是中午差不多两点打来的,面试官问我现在合不合适进行面试,当时我从武汉理工面完爱立信没多久,正在睡觉, ...

最新文章

  1. [JLOI2013]地形生成
  2. 使用命令接口对KVM虚拟机进行简单的管理
  3. java 图片阴影_Java如何为 PPT 中的图形添加阴影效果
  4. JavaScript 基础知识 - BOM篇
  5. x-shell 通过堡垒机连接 ssh多个机器 自动化脚本
  6. 根本无处可避的广东三游
  7. B3log 分布式社区的 Java 博客端节点系统
  8. 符合我公司GIS开源解决方案的探讨
  9. 源代码 oa办公系统jsp_【程序源代码】经典的办公系统开发框架
  10. 导航栏透明度渐变; 下拉头视图拉伸效果;勾号动画; 一段文字中点击部分可响应不同事件...
  11. 2016-2017-2(点集拓扑56, 点集拓扑56)
  12. 电商网站前台模板_电商热潮汹涌,兴长信达PEC零售商城系统为企业注入新力量...
  13. linux 中文交互最好,与linux相交互 - wsdsb的个人空间 - OSCHINA - 中文开源技术交流社区...
  14. JDK1.8 中文开发帮助文档
  15. 前端请求接口出现415错误
  16. 第09篇:Spring处理Mybatis事务
  17. Google Earth Engine——使用climata和Python从USGS获取流数据
  18. Android MediaRecorder录制视频
  19. shuipFCMS二次开发记录一
  20. 五一结婚,收集祝福。附我的结婚对联,结婚放大像。

热门文章

  1. 微信小程序入门与实战(3)——阅读文章列表页面导入js模拟的数据
  2. FTP服务器配置以及问题的解决
  3. 全能测试库Go Monkey,已支持arm64,还有了这些功能增强
  4. 移动硬盘使用exfat方法
  5. 线性数据结构之栈(Stack)
  6. 计算机一级ip地址分类,IP地址分类和子网划分
  7. 倾听佛祖的召唤——达孜大桥
  8. MiniGPT-4:看图聊天、教学、创作、搭网站......还开源了
  9. 如何为Android App 添加快捷方式
  10. 安装vue-devtools的过程中遇到问题,以及最后解决问题正确安装