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

【图解版】力扣第162题:寻找峰值

注意

  • 题目只要求找到一个峰值就可以了。
  • 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
}

相关文章:

【图解版】力扣第162题:寻找峰值

注意 题目只要求找到一个峰值就可以了。nums[-1]和nums[n]这两个位置是负无穷&#xff0c;也就是说&#xff0c;除了数组的位置之外&#xff0c;其它地方都是负无穷。对于所有有效的 i 都有 nums[i] ! nums[i 1] 方法一 遍历整个数组&#xff0c;找到最高的那个点。时间复杂…...

Windows电脑桌面如何弄个好用的提醒备忘录?

在这个充满挑战的时代&#xff0c;每个人都渴望成为更好的自己。然而&#xff0c;随着生活节奏的加快&#xff0c;我们时常发现自己陷入了各种琐事之中&#xff0c;难以脱身。为了不让重要的事情被遗漏&#xff0c;一款好的提醒备忘录工具就显得尤为关键。那么&#xff0c;Wind…...

Windows API 一 ----起步

目录 1.介绍主函数入口参数。 2. 简单介绍 Windows.h 这个头文件 小结&#xff0c;也聊一聊 1.介绍主函数入口参数。 第一个参数: HINSTANCE 类型的 参数&#xff0c; 称为“实例句柄“&#xff0c;这个参数唯一标志了我们写的这个程序。 第二个参数&#xff1a; HINSTANCE…...

音视频入门基础:H.264专题(19)——FFmpeg源码中,获取avcC封装的H.264码流中每个NALU的长度的实现

一、引言 从《音视频入门基础&#xff1a;H.264专题&#xff08;18&#xff09;——AVCDecoderConfigurationRecord简介》中可以知道&#xff0c;avcC跟AnnexB不一样&#xff0c;avcC包装的H.264码流中&#xff0c;每个NALU前面没有起始码。avcC通过在每个NALU前加上NALUnitL…...

【uniapp】设置公共样式,实现公共背景等

目录 1、 全局渐变背景色 2.1 创建common目录 2.2 在common下新建style和images等目录 2.3 在style下新建common-style.scss 2.4 common-style输入全局渐变颜色 2.5 引入样式 2.6 业务页面引入 2.7 展示 2、全局字体颜色 2.1 新建base-style.scss文件 2.2 设置base-…...

Node.js学习笔记

回顾&#xff1a; javascript 可以在浏览器运行 &#xff08;js代码会JavaScript的解析引擎执行&#xff09;chrome 》V8 &#xff08;性能最好&#xff09;FireFox 》 奥丁猴safri 》JSCoreIE浏览器 》查克拉JavaScript可以在浏览器端操作DOM 和BOM每一个浏览器都内置了B…...

resnetv1骨干

# 普通的卷积残差块 def apply_basic_block( x, filters, kernel_size3, stride1, conv_shortcutTrue, nameNone ): # 预设块名称前缀 if name is None: name f"v1_basic_block_{keras.backend.get_uid(v1_basic_block_)}" # 设置残差连接前…...

设计模式,面试级别的详解(持续更新中)

设计模式&#xff0c;面试级别的详解(持续更新中) 软件的设计原则 常⽤的⾯向对象设计原则包括7个&#xff0c;这些原则并不是孤⽴存在的&#xff0c;它们相互依赖&#xff0c;相互补充。 开闭原则&#xff08;Open Closed Principle&#xff0c;OCP&#xff09;单⼀职责原则…...

第9篇:网络访问控制与认证机制

目录 引言 9.1 访问控制策略概述 9.2 认证机制的使用 9.3 密钥分发与证书机制 9.4 访问控制与认证在网络安全中的应用 9.5 网络访问控制与认证的挑战 9.6 总结 第9篇&#xff1a;网络访问控制与认证机制 引言 随着计算机网络的不断普及&#xff0c;安全问题日益受到关…...

CentOS安装NVIDIA驱动、CUDA以及nvidia-container-toolkit

0.提前准备 0.1.更新yum源&#xff08;以阿里为例&#xff09; 0.1.1 备份当前的yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 0.1.2 下载新的CentOS-Base.repo 到/etc/yum.repos.d/ CentOS 5 wget -O /etc/yum.repos.d/CentOS-Base…...

STM32调试,发现HAL_Init();之后无法调试,甚至无法让程序停下来

参考文档&#xff1a; STM32调试,发现HAL_Init();之后无法调试,甚至无法让程序停下来 - asml - 博客园 症状 最近开始学习STM32Cube,发现新建工程后无法正常调试,过了HAL_Init();之后就无法继续调试了. 无法进行让程序暂停以及停止等操作.并在输出窗口不断刷出 ERROR: Can n…...

Ajax(web笔记)

文章目录 1.Ajax的概念2.Ajax 的作用3.原生Ajax4.Axios4.1Axios的概念4.2Axios入门 1.Ajax的概念 AsynchronousJavaScriptAndXML&#xff0c;异步的JavaScript和XML 2.Ajax 的作用 数据交换:过Ajax可以给服务器发送请求&#xff0c;并获取服务器响应的数据。异步交互:可以在…...

多入口+vite+vue3预渲染方案

如果你的项目要求加载速度要快,我们如果使用传统的vue3+sfc模式去开发,因为只有一个根节点,空白页面加载出来之后js才回去加载组件渲染,这样页面总是有一个短暂的空白。我们这里不讨论服务器端ssr和预渲染方案,仅仅是为了满足比较极端的优化需求,在这种情况下我的这套方案…...

Vue3+Ts函数封装与应用

目录 一、基础函数 二、实际应用 2.1、根据id找到对应的value值(找第一个) 2.2、根据id找到对应的value值(找所有) 2.3、不重复的升序数组找数字(二分查找) 2.4、重复的无序数组找数字(统计个数) 2.5、将数组整理为树结构(省市区为例) 为什么要积累呢&#xff1f;因为面…...

C语言全局变量和局部变量同时应用的题题型[求一堆数组中10个学生的成绩里最高分、最低分和平均分。]

C语言函数 全局变量与局部结合变量题。 本片代码中包含全局变量max和min。 以及局部变量aver。 全局变量运用于从定义变量开始&#xff0c;局部变量运用于定义它的调用函数内。 正文开始: #include <stdio.h> int max0,min0; int main() { int average(int array[…...

深度学习实战94-基于图卷积神经网络GCN模型的搭建以及在金融领域的场景

大家好,我是微学AI,今天给大家介绍一下深度学习实战94-基于图卷积神经网络GCN模型的搭建以及在金融领域的场景。文章首先介绍了GCN模型的原理及模型结构,随后提供了数据样例,并详细展示了实战代码。通过本文,读者可以深入了解GCN模型在金融场景下的应用,同时掌握代码的具…...

.NET 6新特性 | System.Text.Json功能改进

在.NET 6.0中&#xff0c;JSON处理库得到了显著的改进&#xff0c;主要体现在System.Text.Json上。以下是对.NET 6.0中改进的JSON处理库的详细分析&#xff1a; 一、System.Text.Json的引入与优势 在.NET 6中&#xff0c;Microsoft引入了新的JSON库System.Text.Json作为官方推…...

Matlab如何对全局优化算法启动并行计算

在 MATLAB 中&#xff0c;启用并行计算可以显著提高一些优化算法&#xff08;如遗传算法 ga 和粒子群算法 particleswarm&#xff09;的速度&#xff0c;特别是在种群或粒子群较大时。要启用并行计算&#xff0c;可以使用 UseParallel 参数。 1. 启用并行计算步骤 Step 1: 检…...

MYSQL-查看数据库中的存储过程语法(六)

13.7.5.9 SHOW CREATE PROCEDURE 语句 SHOW CREATE PROCEDURE proc_name此语句是 MySQL 扩展。它返回确切的字符串 &#xff0c;可用于重新创建命名的存储过程。SHOW CREATE FUNCTION&#xff0c;显示有关存储函数的信息 &#xff08;参见第 13.7.5.8 节“ SHOW CREATE FUNCTI…...

【深度学习】(12)--模型部署 <连接客户端与服务端>

文章目录 模型部署一、模型部署的定义与目的二、模型部署的步骤三、模型部署的方式四、Flask框架五、实现模型部署1. 搭建服务端1.1 初始化Flask app1.2 加载模型1.3 数据预处理1.4 构建装饰器1.5 完整代码 2. 搭建客户端2.1 服务端网址2.2 发送请求2.3 完整代码 六、运行使用 …...

企业级RESTful API设计终极指南:10个进阶技巧助力构建高性能接口

企业级RESTful API设计终极指南&#xff1a;10个进阶技巧助力构建高性能接口 【免费下载链接】restful-api-design-references RESTful API 设计参考文献列表&#xff0c;可帮助你更加彻底的了解REST风格的接口设计。 项目地址: https://gitcode.com/gh_mirrors/re/restful-a…...

解决Blender和UE5坐标轴差异:服装Mesh导入导出常见问题排查指南

Blender与UE5坐标轴差异全解析&#xff1a;从理论到实践的资产迁移指南 在数字内容创作流程中&#xff0c;Blender与Unreal Engine 5(UE5)的协同工作已成为行业标准。但许多开发者第一次将服装模型从Blender导入UE5时&#xff0c;都会遇到一个令人困惑的现象——明明在Blender中…...

Flowable任务超时监控与自动化处理实战

1. 为什么需要Flowable任务超时监控&#xff1f; 在实际业务流程中&#xff0c;任务超时是个常见但容易被忽视的问题。想象一下&#xff0c;你提交了一个采购审批流程&#xff0c;但审批人迟迟没有处理&#xff0c;导致整个采购计划被耽误。这种情况在企业内部每天都在发生&…...

EVA-01实战案例:高校实验室用EVA-01分析显微图像+生成科研记录与假设建议

EVA-01实战案例&#xff1a;高校实验室用EVA-01分析显微图像生成科研记录与假设建议 1. 引言&#xff1a;当科研遇上“初号机” 想象一下这个场景&#xff1a;生物实验室的研究生小李&#xff0c;正对着电脑屏幕上密密麻麻的细胞显微图像发愁。他需要从上百张图片里&#xff…...

Java开发踩坑:一次 JVM 调优实战记录

在Java开发中&#xff0c;性能问题一直是面试和实际项目中重点关注的点。尤其是高并发系统&#xff0c;JVM 的调优直接影响系统的稳定性和响应速度。今天&#xff0c;我将结合一次真实项目经历&#xff0c;分享一次完整的 JVM 调优实战记录&#xff0c;帮助大家掌握核心原理和实…...

CenterPoint实战:基于热力图的3D目标检测与跟踪全解析

1. CenterPoint算法核心思想解析 第一次接触CenterPoint时&#xff0c;最让我惊讶的是它的简洁性。传统3D目标检测就像在游乐场玩"套圈"游戏——需要准备各种尺寸的圆圈&#xff08;锚框&#xff09;去匹配不同形状的奖品&#xff08;物体&#xff09;&#xff0c;而…...

基于粒子群算法的冷-热-电-气综合能源系统优化调度模型-100%详细注释+多种对比方案 摘要

基于粒子群算法的冷-热-电-气综合能源系统优化调度模型-100%详细注释多种对比方案 摘要&#xff1a;构建了含冷-热-电-气四种形式能源的综合能源系统优化调度模型&#xff0c;主要设备包括燃气锅炉、电锅炉、P2G、储能设备、风光机组、大电网、吸收式制冷机等&#xff0c;同时设…...

活字格低代码:让业务流程设计从 “图纸” 到 “落地” 零 IT 转译

在技术领域&#xff0c;我们常常被那些闪耀的、可见的成果所吸引。今天&#xff0c;这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力&#xff0c;让我们得以一窥未来的轮廓。然而&#xff0c;作为在企业一线构建、部署和维护复杂系统的实践者&#xff0c;我们深知…...

02 前端 Web 开发 HTML5 + CSS3 + 移动 web 视频教程,前端web入门首选黑马程序员

02 前端 Web 开发 HTML5 CSS3 移动 web 视频教程&#xff0c;前端web入门首选黑马程序员 一、参考资料 【前端Web开发HTML5CSS3移动web视频教程&#xff0c;前端web入门首选黑马程序员】 https://www.bilibili.com/video/BV1kM4y127Li/?p17&share_sourcecopy_web&vd…...

Flutter鸿蒙应用集成图片加载与缓存功能

&#x1f525;Flutter鸿蒙应用集成图片加载与缓存功能&#xff08;macOSDevEco Studio&#xff09; 欢迎加入开源鸿蒙跨平台社区&#xff1a;https://openharmonycrossplatform.csdn.net&#x1f4c4; 文章摘要 本文为Flutter for OpenHarmony 跨平台应用开发系列实战文章&…...