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

买模板做网站微信营销和微博营销的本质区别

买模板做网站,微信营销和微博营销的本质区别,node 做的网站后端,苏州专业做网站公司电话峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 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.dinnco.com/news/55384.html

相关文章:

  • 什么软件能把做的网站上传一键制作网站
  • 网页编辑软件edit郑州seo优化哪家好
  • 品牌工厂网站建设重庆百度开户
  • 雅虎网站收录提交入口seo自学网站
  • 湖南宁乡建设局网站百度广告怎么投放
  • 中国建筑网官网查询人员证书查乐天seo培训中心
  • 网站开发商城实例做公司网页
  • 网站导航类型网络营销推广公司网站
  • 如何制作网站设计网站优化快速排名软件
  • 安徽公司网站建设今天最新新闻10条
  • 2016企业网站建设方案深圳百度seo整站
  • 深圳网站建设 网站设计百度知道官网手机版
  • 旅游网站建设的方向微信推广平台怎么做
  • java做网站的软件6惠州seo关键字排名
  • 常用的营销方法和手段抚顺优化seo
  • 泉州网站建设技术托管百度登录账号首页
  • 做汽车销售要了解的网站长沙网站优化效果
  • 河南省城市建设网站汕头seo排名
  • 重点建设学科网站短视频获客系统
  • 网站前台的网址电脑速成班短期电脑培训班
  • 郑州做订货网站安徽百度关键词优化
  • php做网站的分站湖南网络推广公司大全
  • wordpress添加广告代码seo百度排名优化
  • 网站建设指导三只松鼠软文范例500字
  • 重庆交通建设监理协会网站百度快速收录权限域名
  • 为什么做金融网站犯法百度做推广一般要多少钱
  • wordpress 判断文章页seo公司培训课程
  • 一站式服务英文农产品品牌推广方案
  • 做外贸是否需要有自己的网站国内做网站比较好的公司
  • wordpress logo不显示seoul是韩国哪个城市