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

资兴市网站建设专业最近发生的热点事件

资兴市网站建设专业,最近发生的热点事件,做赌博网站代理,西安网站制作工程师1. 题目链接 LeetCode 852. 山脉数组的峰值索引 2. 题目描述 给定一个山脉数组 arr(先严格递增后严格递减),返回其峰值的索引。 示例: 输入:arr [0,1,0] → 输出:1输入:arr [0,2,1,0] → 输…
1. 题目链接

LeetCode 852. 山脉数组的峰值索引


2. 题目描述

给定一个山脉数组 arr(先严格递增后严格递减),返回其峰值的索引。
示例

  • 输入:arr = [0,1,0] → 输出:1
  • 输入:arr = [0,2,1,0] → 输出:1

3. 示例分析
  1. 标准山脉数组
    • arr = [1,3,5,4,2],峰值为 5,索引为 2
  2. 峰值在中间
    • arr = [0,10,100,50,20],峰值为 100,索引为 2

4. 算法思路

二分查找法

  1. 二段性分析
    • 山脉数组分为递增段(arr[i] > arr[i-1])和递减段(arr[i] < arr[i-1])。
    • 对于任意 mid,若 arr[mid] > arr[mid-1],说明峰值在右侧;否则在左侧。
  2. 实现步骤
    • 初始化 left = 1, right = arr.size() - 1
    • 计算 mid(向上取整,防止死循环)。
    • 根据 arr[mid]arr[mid-1] 的关系调整左右边界。
    • 最终 left == right,返回峰值索引。
  3. 核心思想通过局部条件将搜索范围一分为二,逐步逼近目标。

5. 边界条件与注意事项
  1. 数组长度:题目保证 arr.length ≥ 3,无需处理边界。
  2. 峰值位置
    • 峰值不可能在首尾(arr[0]arr[-1] 无法同时满足递增和递减)。
  3. 死循环避免mid 必须向上取整(例如 left=1, right=2 时,mid=2)。

6. 代码实现
class Solution 
{
public:int peakIndexInMountainArray(vector<int>& arr) {int left = 1, right = arr.size() - 1;while(left < right){int mid = left + (right - left + 1 ) / 2;if(arr[mid] > arr[mid - 1]) left = mid;else right = mid - 1;}return left;}
};

在这里插入图片描述

7.暴力枚举法与二分查找法对比图表
对比维度暴力枚举法二分查找法
核心思想遍历数组,找到第一个 arr[i] > arr[i+1] 的索引。利用二段性,每次将搜索范围缩小一半。
时间复杂度O(n)(遍历所有元素)。O(log n)(每次缩小一半范围)。
空间复杂度O(1)(无需额外存储)。O(1)(仅需常数变量记录指针)。
实现方式单层循环逐个比较相邻元素。动态调整左右指针,通过条件判断缩小范围。
适用场景小规模数据(n ≤ 1e3)。大规模数据(n ≥ 1e6)。
优点实现简单,无需数学分析。时间复杂度极低,适合处理大规模数据。
缺点数据规模大时性能极差(例如 n=1e5 时需 1e5 次操作)。需理解二段性,实现逻辑较复杂。

8.关键点总结
  1. 二段性
    • 数组分为递增段和递减段,任意位置 mid 可通过 arr[mid] > arr[mid-1] 判断峰值方向。
    • 即使数组不全局有序,只要存在明确的二段性,即可应用二分查找。
  2. 中间值取整
    • 使用 mid = left + (right - left + 1) / 2(向上取整),避免死循环。
  3. 边界收缩逻辑
    • arr[mid] > arr[mid-1],峰值在右侧(含 mid);否则在左侧(不含 mid)。
http://www.cadmedia.cn/news/5800.html

相关文章:

  • app用什么开发软件好seo按照搜索引擎的
  • 北京建站公司兴田德润信任百度竞价推广公司
  • html个人简历模板长沙网站优化方案
  • 网站建设实训总结300槐荫区网络营销seo
  • 专业网站制作公司咨询代运营一般收费
  • 企业网站建站的专业性原则是指网站信息内容应该体现建站目的和目标群体重庆排名seo公司
  • 网站排名不稳定怎么办南昌百度推广联系方式
  • 怎么建设自己的卡盟网站浙江seo外包
  • 襄垣城乡建设管理局的网站关键字c语言
  • 茶叶网站建设公司帆软社区app
  • b2c的盈利模式是什么seo推广公司排名
  • 百度短链接生成器福州seo建站
  • 临沂建设局网站质量三监督怎样创建自己的电商平台
  • 网站建设 每年费用企业邮箱登录
  • 网站规划与建设论文自动seo系统
  • 只做旧房翻新的装修公司seo1新地址在哪里
  • 郑州市政府网站官网百度最新财报
  • 经典wordpress网站备案查询平台官网
  • 免费模板下载个人简历陕西seo推广
  • 衡水企业网站建设价格seo推广排名软件
  • 做网站四百全包小红书seo关键词优化多少钱
  • 同江佳木斯网站建设指数基金定投技巧
  • 济南企业建站哪家做的好建网站的软件
  • 交友视频网站建设百度网页怎么制作
  • 湖北平台网站建设哪家好软文发布平台哪个好
  • 淘宝网站基础建设 托管福州seo推广优化
  • 南京网络推广网站建设公司抖音seo排名
  • 江苏网站建设价格低广州最新疫情最新消息
  • 九江茶叶网站建设中国网评中国网评
  • 网站收录情况百度一下就知道首页