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

劳动法24小时免费咨询公众号微博seo

劳动法24小时免费咨询,公众号微博seo,手机界面设计说明,网站建设项目进度汇报注意 题目只要求找到一个峰值就可以了。nums[-1]和nums[n]这两个位置是负无穷,也就是说,除了数组的位置之外,其它地方都是负无穷。对于所有有效的 i 都有 nums[i] ! nums[i 1] 方法一 遍历整个数组,找到最高的那个点。时间复杂…

注意

  • 题目只要求找到一个峰值就可以了。
  • nums[-1]和nums[n]这两个位置是负无穷,也就是说,除了数组的位置之外,其它地方都是负无穷。
  • 对于所有有效的 i 都有 nums[i] != nums[i + 1]

方法一

遍历整个数组,找到最高的那个点。时间复杂度O(n)

func findPeakElement(nums []int) int {maxIndex := 0for i := range nums {if nums[i] > nums[maxIndex] {maxIndex = i}}return maxIndex
}

方法二

  • 二分法,其实看到O(logn),很容易就可以想到二分法。

  • 二分法,分开了之后,mid是在中间的,有可能是在上坡,也有可能是在下坡,也可能是在峰值,峰值的话,最后二分终止的时候,也会找到的。

    至于选择哪一边呢?其实就按爬山来看就行了。如果是爬到上坡的话,那一定就是有峰值的,但是如果是下坡的话,后面有可能有峰值,也有可能是负无穷。

  • 因为题目说的是-1和n位置是负无穷,所以只要找到上坡就行,找到上坡就一定会有解。

请添加图片描述

func findPeakElement(nums []int) int {l, r := 0, len(nums)-1for l < r {mid := l + (r - l)/2if nums[mid] > nums[mid + 1] {			// 题目规定了nums[i] != nums[i + 1],所以可以不用考虑等于号的情况r = mid							// 左边大,说明左边有峰值,那就往左边靠} else {l = mid + 1				// 右边大,说明右边有峰值,那就往右边靠}}return l
}
http://www.mmbaike.com/news/62478.html

相关文章:

  • 域名备案网站备案抖音搜索排名优化
  • 网站是怎么做排名的太原seo外包平台
  • 有做数学题的网站吗it培训机构
  • discuz轉wordpress优势的seo网站优化排名
  • 做一整套网站需要什么seo站群优化
  • 洛阳网站建设价格低app推广软件有哪些
  • 帮人做微信是哪个网站海外营销推广
  • 怎么为网站做外链外贸营销网站制作公司
  • 珠海新盈科技有限公司 网站建设深圳市seo网络推广哪家好
  • 福建网站建设台湾新闻最新消息今天
  • 简述网站开发主要步骤个人网站推广方法
  • 有什么网站可以做家装外链发布论坛
  • 做网站的用多少钱百度助手app免费下载
  • 网站icp备案号百度一下首页网页手机版
  • 网站建设 图标乐天seo培训中心
  • 烟台网站制作建设个人网站开发网
  • 推广做网站深圳推广公司哪家好
  • 建设网站用什么语言比较好南京seo排名
  • 网站10月份可以做哪些有意思的专题网站统计分析工具
  • 优秀国内个人网站网址百度网址收录入口
  • 个人网站怎么填写2023年12月疫情又开始了吗
  • 网站后台操作手册口碑营销成功案例
  • 磁力离心泵做网站百度推广后台管理
  • dwcs5做网站抖音seo运营模式
  • ps做网站图片win10优化大师有用吗
  • 公司想做网站排名优化是怎么做的
  • 怎么做提卡密网站万游汕头seo优化项目
  • 做网站需要学哪些语言seo优化的方法有哪些
  • 做盗版电影网站违法吗seo搜索引擎营销工具
  • 搜h网站技巧姓名查询