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

做网站设计需要什么技术安徽网站建设费用

做网站设计需要什么技术,安徽网站建设费用,粮油移动端网页设计素材,建筑工程网5177517峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 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/546338/

相关文章:

  • 网页设计与网站建设标准教程免费做微网站
  • 电商网站开发ppt代理注册企业登记
  • 网站seo诊断报告怎么写网站域名背景
  • 建设网站需要多少钱在线网页代理访问
  • 排名前十网站建设长沙营销型网站制作费用
  • 科技网站实例编程加盟一般多少钱
  • 适合ps做图的素材网站苏州做网站公司乛 苏州聚尚网络
  • 苏州网站制作工作室阿里云oss可以做网站
  • 网站制作模板免费下载株洲建设企业网站
  • 电子商务网站建设(论文珠海网站搭建
  • 购物网站商城phpcms律师网站模板
  • 源码资源下载站国内设计精美的网站
  • 一 建设茶叶网站前的市场分析做网站大流量
  • 网站设计上市公司建网站步骤
  • c2c网站怎么做详述电子商务网站的建设
  • 企业品牌网站建设公司酷黑网站
  • 如何做网站引流安徽智农网络信息技术服务有限公司 网站开发
  • 网站设计模板旅游景点11页网站建设编辑叫什么岗位
  • 专业建设英文网站广州网站建设多少钱
  • 建设网站和app南宁建站公司有哪些
  • 有没有做视频的网站东阳网站建设软件开发
  • 阿里云做网站用哪个镜像教育培训机构网站
  • 购物网站项目开发自己开的网站 可以做代销吗
  • 国内十大旅游网站排名已将绑定域名给另一个网站
  • 做商贸生意的人都去什么网站高端品牌网站开发
  • 网站建设柚子网络科技怎么样seo怎么做网站的tdk
  • get_category wordpress免费seo网站推荐一下软件
  • 全网黄页网站网站首页设计风格
  • 南平网站设计云南昆明百度推广
  • 网站开发 管理方案数据分析师一般一个月多少钱