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

信用中国网站建设要求企业网站建设多少钱

信用中国网站建设要求,企业网站建设多少钱,网站开发报价表,政府网站内容建设的重要性峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。 你可以假设 nums[-1] nums[n] -∞ 。 你必须实现时间复杂度为 O(…

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

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

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

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

示例 1:

输入:nums = [1,2,3,1]
输出:2
解释:3 是峰值元素,你的函数应该返回其索引 2。

示例 2:

输入:nums = [1,2,1,3,5,6,4]
输出:1 或 5 
解释:你的函数可以返回索引 1,其峰值元素为 2;或者返回索引 5, 其峰值元素为 6。

提示:

  • 1 <= nums.length <= 1000
  • -231 <= nums[i] <= 231 - 1
  • 对于所有有效的 i 都有 nums[i] != nums[i + 1]

思路:寻找峰值,最大值就一定是峰值,但这样遍历是行不通的,复杂度就到了O(n),所以每次操作必须寻找减小范围的方法,其核心就是找到规律,该题必有峰值,因为边界是无限小,而且一个节点左右节点都是不相同的,一个节点的峰值情况,无非三种情况,左小右小,那么该值就是峰值,左小右大,那么峰值必在右边因为有上升就必然会下降,最坏情况就是到边界下降到无穷小。所以按此规律,可以直接进行范围缩小。代码如下:和基本二分类似。

class Solution {public int findPeakElement(int[] nums) {// 由于数组边界是无穷小,所以一个元素i,如果i大于两侧,那么他就是峰值// 如果右侧大于i,右侧就必有峰值,左侧同理,这种情况就可以使用二分思想int leftIndex = 0;int rightIndex = nums.length - 1;while (true) {int middleIndex = (leftIndex + rightIndex) / 2;if (compare(nums, middleIndex, middleIndex-1) && compare(nums, middleIndex, middleIndex+1)) {return middleIndex;    } else if (nums[middleIndex+1] > nums[middleIndex]) {leftIndex = middleIndex + 1;} else {rightIndex = middleIndex - 1;}}}// 由于数据中可能会有int的最小值,所以必须写比较函数public boolean compare(int[] nums, int index1, int index2) {if (index1 < 0 || index1 >= nums.length) {return false;}if (index2 < 0 || index2 >= nums.length) {return true;}return getNum(index1, nums) > getNum(index2, nums);}public int getNum(int index, int[] nums) {return nums[index];}
}

http://www.tj-hxxt.cn/news/119441.html

相关文章:

  • 网站建设互联网加seo页面优化技术
  • 宁夏建设厅网站广告加盟
  • 网站怎么做域名实名认证吗2023年广州疫情最新消息
  • 做帮助手册的网站网站推广seo
  • 做视频给网站到流量北京网站推广排名外包
  • 合肥最好的网站建设优化网络培训
  • 网站后台图片滚动效果怎么做优化公司排行榜
  • 网站开发需要用什么网络推广工作是做什么的
  • 沙井做网站域名检测
  • 网站建设 分类广告曹操博客seo
  • 电子商务网站建设与管理实训心得微信指数官网
  • iis网站访问用户最新的即时比分
  • 找人做网站被骗属于诈骗吗精准客户信息一条多少钱
  • 盘锦做网站选哪家好外贸建站与推广
  • 专门做超市dm网站seo博客推广
  • 网站建设里面包含什么语言淘宝流量平台
  • 响应式网站模版建站外媒头条最新消息
  • 有出国做飞机求同行的网站石家庄seo网站排名
  • 网站开发与维护视频郑州网络营销学校
  • 哪个程序做下载网站好如何建立个人网址
  • 怎么更换网站模板太原网站排名推广
  • 怎么免费建立网站做推广长沙专业网站制作
  • 农业建设项目管理信息系统网站人工智能培训
  • 自己如何在网上做网站百度在线问答
  • 网站的付款链接怎么做搜索引擎大全入口
  • 中劳网做网站网络宣传的好处
  • 用网站做平台vue seo 优化方案
  • 爱企查在线查询seo怎么推广
  • 重庆网站建设夹夹虫负责今日热点新闻
  • 网站建设通知书高级seo课程