162. Find Peak Element
2016-06-29 05:53
232 查看
这道题基于的特质是,如果是一个递减序列,那么左起第一个数就是peak element,如果是递增数列,那么右侧第一个是
所以可以使用二分搜索,如果一个mid本身并不是peak element,那么它如果比右侧大的话,那么说明左侧(包括它自己)一定有一个最优解,否则右侧(不包括它自己)一定有一个最优解。
所以可以使用二分搜索,如果一个mid本身并不是peak element,那么它如果比右侧大的话,那么说明左侧(包括它自己)一定有一个最优解,否则右侧(不包括它自己)一定有一个最优解。
public int findPeakElement(int[] nums) { if(nums.length == 0) { return -1; } int left = 0; int right = nums.length - 1; while(left < right) { int mid = left + (right - left) / 2; if(nums[mid] > nums[mid + 1]) { right = mid; } else { left = mid + 1; } } return left; }
相关文章推荐
- 入职新公司要做的事情
- 句柄和指针
- leetcode@ [354] Russian Doll Envelopes (Dynamic Programming)
- openssl编译(VC6.0)
- CrashRpt_v.1.4.2_vs2008_also_ok
- 文件转换dll mingw
- qt windows分发工具使用(windoployqt)
- 模式对话框与非模式对话框 消息处理顺序
- 深入GDI图像显示
- qtcreator增加doxygen注释
- 枚举硬件设备
- WINDOWS硬件通知应用程序的常方法(五种方式:异步过程调用APC,事件方式VxD,消息方式,异步I/O方式,事件方式WDM)
- otl库(以前不知道有这个库,并且还可以在Unix下使用)
- QT中代码中与设计器中控件信号与SLOT连接(原来还可以这样连接)
- 部署vc2008开发的程序(三种办法,但是我觉得这种办法最不好)
- Struts2系列:(16)ActionContext
- SendMessage的返回值,就是由相应的响应消息函数的返回值(解释的简洁明了)
- Leetcode Generate Parentheses
- Win7下qt5.3.1+opencv2.4.9编译环境的搭建(好多 Opencv2.4.9源码分析的博客)
- 玉兔IM(康林的博客)