【二分查找】162. 寻找峰值

162. 寻找峰值

解题思路

  • 改造二分查找算法
  • 如果numsmid > numsmid + 1 说明左侧存在较大的峰值
  • 如果numsmid <= numsmid + 1 说明右侧存在较大的峰值
java 复制代码
class Solution {
    public int findPeakElement(int[] nums) {
        // 原始数组不是有序
        // 改造二分查找算法

        int left = 0;
        int right = nums.length - 1;

        while(left < right){
            int mid = left + (right - left) / 2;

            if(nums[mid] > nums[mid + 1]){
                // 说明左侧存在较大峰值
                right = mid;
            }else if(nums[mid] <= nums[mid + 1]){
                // 说明右侧存在较大峰值
                left = mid + 1;
            }
        }

        return left;
    }
}
相关推荐
kyriewen4 分钟前
别再用防抖做懒加载了:120 张图只加载出 4 张
前端·javascript·程序员
小郎君65843 分钟前
Vue keep-alive 切标签后滚动位置回顶?因为 onDeactivated 里读到的 scrollTop 是 0
算法
邵奈一1 小时前
GPT-6.1 Terra速度是Sol的3倍,价格减半
算法
RaaS1001 小时前
Node.js Brotli RCE 漏洞自查指南:fetch、undici、axios 都在影响面,三分钟确认你的版本
人工智能·深度学习·算法
shehuiyuelaiyuehao1 小时前
算法56,重排链表
数据结构·算法·链表
CodeMi2 小时前
2026 CSS 接管了这些 JS 的活:6 个 Baseline 特性的落地取舍
javascript·css
qq_452396232 小时前
第四篇:《索引原理与实战:B-tree、Hash、GIN、GiST、BRIN》
算法·哈希算法·gin
全栈项目管理程序猿2 小时前
ArcGIS JS 基础教程(35):体元系列 - VoxelLayer 时间维度动画
前端·javascript
西索斯coding2 小时前
Qwen3-Max 与 Qwen-Plus:60 个真实修复任务评测方案
大数据·网络·算法·ai