Leetcode:找出峰值
普通版本
题目链接:2951. 找出峰值 - 力扣(LeetCode)
class Solution {
public:vector<int> findPeaks(vector<int>& mountain) {int sz = mountain.size();vector<int> newMountain;for(int i = 1;i < sz-1;i++){int a = mountain[i-1];int b = mountain[i];int c = mountain[i+1];if(b > a && b > c){newMountain.push_back(i);} }return newMountain;}
};
注意vector的push_back、insert和[ ]三者对于自身元素处理的不同情况:
- push_back:用于向数组尾部插入新元素
- insert:用于向数组中得某个位置进行插入,需要传入要插入位置得迭代器
- [ ]:只能访问和修改已有元素,不能用于插入元素
优化版本
class Solution {
public:vector<int> findPeaks(vector<int> &mountain) {vector<int> res;int i = 1;while(i+1 < mountain.size()){if (mountain[i - 1] < mountain[i] && mountain[i] > mountain[i + 1]) {res.push_back(i);i+=2;continue;}i++;}return res;}
};
- 省去了用变量存储数组中的值
- 当i位置为峰值时,i+1位置就不可能是峰值,可以直接跳过
~over~
相关文章:
Leetcode:找出峰值
普通版本 题目链接:2951. 找出峰值 - 力扣(LeetCode) class Solution { public:vector<int> findPeaks(vector<int>& mountain) {int sz mountain.size();vector<int> newMountain;for(int i 1;i < sz-1;i){…...
简单微信企业群消息推送接口
群管理 群发送接口 POST: JSONURL http://localhost:65029/m/wxapi/sendwxmsg{ "nr":"试", --消息 "at":"wxid_y0k4dv0xcav622,wxid_y0k4dv0xcav622",--群wxid "key":"F98F354F1671A2D21BC78C76B95E96EB",--群k…...
超好用!图像去雾算法C2PNet介绍与使用指南
《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…...
java中使用mysql的json字段(代码示例)
前言: 最近做了个小项目,第一次使用json类型的数据库字段,这篇博文讲下使用过程中遇到的问题(数据库框架使用MyBatisplus) 应用到项目中的方法: 数据库as_farmer_apply表中的json字段: 实体类…...
GitHub的原理及应用详解(三)
本系列文章简介: GitHub是一个基于Git版本控制系统的代码托管平台,为开发者提供了一个方便的协作和版本管理的工具。它广泛应用于软件开发项目中,包括但不限于代码托管、协作开发、版本控制、错误追踪、持续集成等方面。 GitHub的原理可以简单概括为,在本地创建一个仓库(r…...
Flutter 中的 Offstage 小部件:全面指南
Flutter 中的 Offstage 小部件:全面指南 在Flutter中,Offstage是一个用于控制子组件是否出现在屏幕上的布局小部件。通过Offstage,你可以轻松地将组件从屏幕上隐藏或显示,而不需要从widget树中移除它。这对于实现条件渲染、动画效…...
微信小程序中使用vantUI步骤
第一步,配置project.config.json 在setting中新增如下: "packNpmManually": true,"packNpmRelationList": [{"packageJsonPath": "./package.json","miniprogramNpmDistDir": "./"}], 第…...
说一下 ACID 是什么?
ACID 是数据库事务的四个特性的首字母缩写,包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。 原子性(Atomicity&…...
深度解读 chatgpt基本原理
ChatGPT(Generative Pre-trained Transformer)是由OpenAI开发的一种大规模语言模型,基于Transformer架构,采用自监督学习和生成式预训练方法。以下是ChatGPT的基本原理的深度解读: ### 1. Transformer架构 Transforme…...
Oracle-修改用户名
1、项目背景 需要将导入一份最新的用户数据在tbl用户上,但需要将原来的tbl用户数据保留并能实现两个用户的比对。 2、解决思路 思路一:1)新建用户tbl_feng,导入数据;2)将两个用户换名称 3)比对 思路二&…...
张量 t-product 积(matlab代码)
参考文献:Tensor Robust Principal Component Analysis with a New Tensor Nuclear Norm 首先是文章2.3节中 t-product 的定义: 块循环矩阵: 参考知乎博主的例子及代码:(t-product与t-QR分解,另一篇傅里叶对…...
爬山算法教程(个人总结版)
背景与简介 爬山算法(Hill Climbing Algorithm)是一种用于解决优化问题的启发式搜索方法。它是一种局部搜索算法,通过不断尝试从当前解出发,在其邻域内寻找更优的解,直到无法找到更优解为止。该算法得名于其类似于登山…...
水电表远程抄表:智能化时代的能源管理新方式
1.行业背景与界定 水电表远程抄表,是随着物联网技术发展,完成的一种新型的能源计量管理方式。主要是通过无线传输技术,如GPRS、NB-IoT、LoRa等,将水电表的信息实时传输到云服务器,进而取代了传统人工当场抄水表。这种…...
物联网应用开发--STM32与机智云通信(ESP8266 Wi-Fi+手机APP+LED+蜂鸣器+SHT20温湿度传感器)
实现目标 1、熟悉机智云平台,会下载APP 2、熟悉新云平台创建产品,项目虚拟调试 3、掌握云平台生成MCU代码,并移植。机智云透传固件的下载 4、具体目标:(1)注册机智云平台;(2&…...
【高阶数据结构(七)】B+树, 索引原理讲解
💓博主CSDN主页:杭电码农-NEO💓 ⏩专栏分类:高阶数据结构专栏⏪ 🚚代码仓库:NEO的学习日记🚚 🌹关注我🫵带你学习更多数据结构 🔝🔝 高阶数据结构 1. 前言2. B树讲解…...
ML307R OpenCPU 网络初始化流程介绍
一、网络初始化流程 二、函数介绍 三、示例代码 四、代码下载地址 一、网络初始化流程 模组的IMEI/SN获取接口可在include\cmiot\cm_sys.h中查看,SIM卡IMSI/ICCID获取接口可以在include\cmiot\cm_sim.h中查看,PDP激活状态查询可以在include\cmiot\cm_modem.h中查看 二、函…...
分享:怎么才能保证大数据查询的准确性?
随着大数据应用到金融风控领域,大数据越来越重要了,很多朋友在查大数据的时候都会遇到一个问题,那就是自己查询的大数据什么信息都没有,要么就是很少,这是什么原因呢?要怎么才能保证大数据查询的准确性呢?下面小编就…...
AI Agent教育行业落地案例
【AI赋能教育】揭秘Duolingo背后的AI Agent,让学习更高效、更有趣! ©作者|Blaze 来源|神州问学 引言 随着科技的迅猛发展,人工智能技术已经逐步渗透到我们生活的各个方面。而随着AI技术的广泛应用,教育培训正引领着一场新的…...
Flutter 中的 LimitedBox 小部件:全面指南
Flutter 中的 LimitedBox 小部件:全面指南 Flutter 是一个功能强大的 UI 框架,它提供了大量的小部件来帮助开发者构建美观且响应式的用户界面。在 Flutter 的布局小部件中,LimitedBox 是一个不太常见但非常有用的组件,它可以用来…...
OrangePi AIpro初体验,码农的第一台个人AI云电脑
介绍 香橙派联合华为精心打造,建设人工智能新生态 官网地址:Orange Pi AIpro Orange Pi官网-香橙派 Orange Pi论坛:Orange Pi论坛 昇腾社区:为开发者免费提供数百个代码参考样例昇腾社区-官网丨昇腾万里 让智能无所不及 学习…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
