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

在网上帮做图片的网站wordpress 根目录函数

在网上帮做图片的网站,wordpress 根目录函数,app定制开发公司上班怎么样,我做网站啦 圆通导航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.dtcms.com/a/460654.html

相关文章:

  • 内含各种专业的网站搭建模板沈阳工程招标网
  • 塑胶制品东莞网站建设珠宝网站官网建设需求
  • 山东嘉邦家居用品公司网站 加盟做经销商多少钱 有人做过吗网站建设 需求模板
  • 公司网站无法收录桂建云官网
  • 网站 注册模块怎么做上海高端网站建
  • 校园类网站建设wordpress 4.0 谷歌
  • 网站需求分析的重要设计模板网站
  • 2012系统 做网站佛山网站建设佛山网络推广
  • 个人作品网站策划书大航母网站建设在哪里
  • 东莞网站建设优化排名好看的网站首页图片
  • 做网站后端要什么技术国内电子商务网站有哪些
  • 微信网站特征wordpress更改登录地址
  • 河南制作网站jsp做的大型网站
  • 网上找兼职的网站做网站业务员如何跟客户沟通
  • 购物网站开发的背景介绍做网站的是不是程序员
  • 巢湖网 网站网站建没有前景
  • 网站源码建站视频广告东莞网站建设技术支持
  • 群晖服务器做网站怎么制作悬赏平台app
  • php mysql网站后台源码北京口碑好装修公司
  • 合肥市有做网站的公司吗关键词网站优化平台
  • 淄博桓台网站建设报价网站 301
  • 30个免费货源网站网站设计是后台做的还是前台做的
  • 广州网站建设服务哪家好用记事本做网站
  • 全屏响应式网站模板seo的搜索排名影响因素有哪些
  • 招聘网站报表怎么做百度手机版下载
  • 从化网站开发做网站为什么要用php框架
  • 洛阳市做网站贴吧公司建设网站费用会计怎么记
  • 网站建设科技微信小程序登陆入口官网
  • 宁波建设网 公积金网点seo顾问服务深圳
  • 微站是什么东西网站服务类型