当前位置: 首页 > news >正文

内蒙古建设安全监督网站平面设计学生作品集

内蒙古建设安全监督网站,平面设计学生作品集,企业网站子页面模板,wordpress代码目录峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。 你可以假设 nums[-1] nums[n] -∞ 。 你必须实现时间复杂度为 O(…

峰值元素是指其值严格大于左右相邻值的元素。

给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。

你可以假设 nums[-1] = nums[n] = -∞ 。

你必须实现时间复杂度为 O(log n) 的算法来解决此问题。

思路一:二分

c++解法

class Solution {
public:int findPeakElement(vector<int>& nums) {int left = 0, right = nums.size() - 2;while(left <= right){int mid = left + (right - left) / 2;if (nums[mid] < nums[mid + 1]){left = mid + 1;}else{right = mid - 1;}} return left;}};

java解法

class Solution {public int findPeakElement(int[] nums) {int n = nums.length;int l = 0, r = n - 1;while (l < r) {int mid = l + r >> 1;if (nums[mid] > nums[mid + 1]) r = mid;else l = mid + 1;}return r;}
}

分析:

本题要求数组中的峰值元素,同时要求时间复杂度为O(logn),可以想到用二分解法找到峰值。二分查找找到峰值的原理为若存在峰值元素,则该峰值必定大于左右两个数,二分查找找到的值只有可能为峰值元素故可使用二分查找完成

总结:

本题考察二分查找的应用,假设从开头到中间值到结尾均为递增,若中间值大于中间值后一位数则只考虑前半段,不断缩小范围可找到峰值,返回峰值下标即可解决

http://www.yayakq.cn/news/658500/

相关文章:

  • joomla 2.5:你的网站建设_使用与管理seo技术秋蝉
  • 怎样创建网站的基本流程怎样不让网站自动跳转wap
  • 推介网站wordpress月亮主题
  • 义乌网站建站食品网站设计欣赏
  • 浙江网站建设公司猪八戒做网站排名
  • 做网站多钱一年南宁网站建设公司哪家专业
  • saas建站平台有哪些给设计公司起名大全
  • 国外知名网站学网络技术培训学校
  • 网络移动公司的网站建设北京南站
  • 工会网站建设可以wordpress友情链接做导航
  • 长沙网站优化分析wordpress滑块部分
  • 简述网站建设的一般步骤久久建筑网怎么免费下载
  • 有哪些网站能够免费找到素材河池网络推广
  • 做网店装修的网站有哪些织梦网站移动化
  • 开发网站需要哪些技术wordpress用什么系统
  • 长春电商网站建设公司想买个服务器做网站
  • 无极网站建设质量推广引流哪个软件最好
  • 资溪县建设局网站临沂网站备案公司
  • 江苏省建设厅官网网站首页襄阳文明建设投诉网站
  • 网站合作推广方案公司注册域名需要哪些条件
  • 创建个网站需要多少钱珠海企业网站建设公
  • 建设部资质网站查询广州建设总承包集团
  • 专业做网站哪家好wordpress 8.0
  • 开发网站需要什么北京网站建设专业公司
  • 大一网站开发体会转运公司网站制作
  • 惠东网站设计有哪些好的印花图案设计网站
  • 做卡盟网站赚钱吗wordpress标题不能空
  • 网站服务商怎样在在农行网站上做风险评估
  • 做网站和做新媒体运营杭州百度优化
  • 个人订阅号支持微网站的建设吗网站免费发布与推广