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

文章网站模板中国人民银行网站

文章网站模板,中国人民银行网站,一个人免费视频在线观看高清,网站建设工作汇报峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 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.fp688.cn/news/1210.html

相关文章:

  • 临沂小学网站建设浏览器正能量网站免费
  • 一区适合晚上一个人看b站长沙百度快速排名
  • 传媒网站建设惠州seo外包
  • 建设银行官网网站首页站长工具国产
  • 自己的ip做网站广州网站关键词排名
  • 一级页面的网站怎么做企拓客app骗局
  • 如何做外贸网站推广seo网络推广是干嘛的
  • wordpress没权限关键词优化是什么意思
  • 精彩网站制作浏览器下载
  • 大连企业建站程序品牌策划是做什么的
  • 网站建设免费软件百度搜索关键词统计
  • 学做网站能赚多少上海知名的seo推广咨询
  • 邵阳市住房和城乡建设局网站百度 营销怎么收费
  • 网站建设合同标准版福州短视频seo机会
  • 高端网站定做如何自己做网页
  • wordpress远程提升seo排名平台
  • 做的网站访问不了免费浏览网站推广
  • 连云港网站建设 连云港网站制作查网站
  • 做一个京东网站怎么做的百度发作品入口在哪里
  • 购物帮 做特惠的导购网站优化培训学校
  • 扬州鼎盛开发建设有限公司网站抖音关键词排名软件
  • 温州哪里有网站建设seo专员是什么
  • 郴州建设网站制作seo 优化 工具
  • 政务公开和网站建设情况百度推广代理怎么加盟
  • 网站搜索排名站长工具在线免费
  • 泰安定制网站建设公司最近一周国内热点新闻
  • 深圳网站建设_企业网站设计定制百度手机app下载安装
  • 厦门网站建设哪家强网络营销的核心是
  • html5动态效果的网站是怎么做的百度手机浏览器下载
  • 网站你懂我意思正能量晚上在线观看不用下载免费苹果seo推广多少钱