最长的严格递增或递减子数组
给你一个整数数组 nums 。
返回数组 nums 中
严格递增 或 严格递减 的最长非空子数组的长度。
示例 1:
输入:nums = [1,4,3,3,2]
输出:2
解释:
nums 中严格递增的子数组有[1]、[2]、[3]、[3]、[4] 以及 [1,4] 。
nums 中严格递减的子数组有[1]、[2]、[3]、[3]、[4]、[3,2] 以及 [4,3] 。
因此,返回 2 。
示例 2:
输入:nums = [3,3,3,3]
输出:1
解释:
nums 中严格递增的子数组有 [3]、[3]、[3] 以及 [3] 。
nums 中严格递减的子数组有 [3]、[3]、[3] 以及 [3] 。
因此,返回 1 。
示例 3:
输入:nums = [3,2,1]
输出:3
解释:
nums 中严格递增的子数组有 [3]、[2] 以及 [1] 。
nums 中严格递减的子数组有 [3]、[2]、[1]、[3,2]、[2,1] 以及 [3,2,1] 。
因此,返回 3 。
int longestMonotonicSubarray(int* nums, int numsSize) {if(numsSize==1)return 1;int maxLength=1;int length2=1;int type=1; //1是加,2是减int i=0;for(;i<numsSize-1;i++){if(nums[i]>nums[i+1]){if(type==2)length2++;else {length2=2;type=2;} }else if(nums[i]<nums[i+1]){if(type==1)length2++;else{length2=2;type=1;} }else{length2=1;}if(length2>maxLength)maxLength=length2;}return maxLength;
}
相关文章:
最长的严格递增或递减子数组
给你一个整数数组 nums 。 返回数组 nums 中 严格递增 或 严格递减 的最长非空子数组的长度。 示例 1: 输入:nums [1,4,3,3,2] 输出:2 解释: nums 中严格递增的子数组有[1]、[2]、[3]、[3]、[4] 以及 [1,4] 。 nums 中…...
【JavaEE】SpringBoot 统一功能处理:拦截器、统一数据返回与异常处理的综合应用与源码解析
目录 SpringBoot 统⼀功能处理拦截器拦截器快速⼊⻔拦截器详解拦截路径拦截器执⾏流程 登录校验定义拦截器注册配置拦截器 DispatcherServlet 源码分析(了解)初始化(了解) DispatcherServlet的初始化1. HttpServletBean.init()2. FrameworkServlet.initServletBean() WebApplic…...
I2C学习:上拉电阻选取
一.I2C简介 I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。I2C总线在使用时,需要接上拉电阻,这是因为I2C接口是开漏输出,如图1所示。 图1 I2C开漏输出 I2C有5种速度模式:标准(100KHz&am…...
AC自动机-1
AC自动机(Aho-Corasick Automaton)是一种高效的多模式字符串匹配算法。它是由Alfred Aho和Margaret Corasick在1975年提出的。这种算法可以在一次扫描输入文本的情况下,同时查找多个模式串。 基本概念 Trie树 AC自动机是基于字典树数据结构构建的字典树…...
注解@Service@Component@Slf4j@Data
在Java中,这四个注解分别属于不同的用途和库,下面是它们各自的作用: Service: 这个注解通常用于Spring框架中,它用于标记服务层组件。在Spring中,服务层通常包含业务逻辑。当一个类被标记为Service…...
【Nodejs】六、express框架
目录 一、express 介绍 二、express 使用 2.1 express 下载 2.2 express 使用 三、express 路由 3.1 什么是路由 3.2 路由的使用 3.3 获取请求参数 3.4 获取路由参数 四、express 响应设置 五、express 中间件 5.1 什么是中间件 5.2 中间件的作用 5.3 中间件的类…...
进阶 pro max
最近搞了许多有趣的东西,比如自制rtos,速成数模电,学了一点点的AD,看着视频弄了HAL库,以及定时器和串口中断配合实现接收任意长度(不超过缓冲值)数据,还有配置hal库的freertosfafts …...
Agentic Security:一款针对LLM模型的模糊测试与安全检测工具
关于Agentic Security Agentic Security是一款针对LLM模型的模糊测试与安全检测工具,该工具可以帮助广大研究人员针对任意LLM执行全面的安全分析与测试。 请注意 Agentic Security 是作为安全扫描工具设计的,而不是万无一失的解决方案。它无法保证完全防…...
Spring Cloud Config 与 Spring Cloud Bus 来实现动态配置文件
要使用 Spring Cloud Config 与 Spring Cloud Bus 来实现动态配置文件,你可以按照以下步骤操作: ### 步骤 1: 添加依赖 首先,确保你的项目中添加了 Spring Cloud Config 客户端和 Bus 的依赖。对于 Maven 项目,pom.xml 文件应该…...
Qt:Qt背景
目录 1.Qt解释 2.Windows下开发GUI的方案 3.框架 4.Qt历史 4.Qt支持的平台 5.Qt版本 6.Qt案例 1.Qt解释 前端开发,分为网页前端开发(Web)、桌面应用开发(Windows、Linux)、移动应用开发(Android)。Q…...
【数据结构】选择排序
🍬个人主页:Yanni.— 🌈数据结构:Data Structure. 🎂C语言笔记:C Language Notes 🏀OJ题分享: Topic Sharing 目录 前言: 基本思想 直接选择排序 思路分…...
国产GD32单片机开发入门(二)GD32单片机详解
文章目录 一.概要二.单片机型号命名规则三.GD32F103系统架构四.GD32F103C8T6单片机启动流程五.GD32F103C8T6单片机主要外设资源六.单片机开发过程中查看芯片数据手册的必要性1.单片机外设资源情况2.GD32单片机内部框图3.GD32单片机管脚图4.GD32单片机每个管脚功能5.单片机功耗数…...
8个我平时每天都会看的网站,涵盖办公、娱乐、学习等
分享8个我平时每天都会看的网站,涵盖办公、娱乐、学习等多种类别,试过就知道有多好用! 1、MyFreeMP3 tools.liumingye.cn/music/#/ 一个可以免费听歌的平台,不用充会员,里面收录了大多数的国内外知名流行歌手、乐队的…...
Vue2——父子之间间的调用
1、父组件给子组件传值使用props 父组件: <div><SonPage msg"通过props传递值---父>子" ></SonPage><h1>父组件</h1></div> 子组件 <div :style"{border: 1px solid red}"><h1>子组件…...
xfs Vs ext4?
xfs测试 ext4 测试 对比 XFS和EXT4都是Linux系统中广泛使用的文件系统,它们各有特点和优势,选择哪一个取决于你的具体需求和使用场景。下面是它们的主要特点: XFS: 由Silicon Graphics Inc.开发,最初用于SGI的IRIX系统。支持非…...
数据结构stack (笔记)
文章目录 1. 概念理解易混淆内容 2. 时间复杂度3. 实现方式4. 应用5. 内容出处 1. 概念理解 stack(中文名:堆栈、栈):虽然它叫堆栈,但是它其实指的是栈,跟堆没啥关系。 栈的特性:先进后出、后进先出(这个过程就…...
SQL - 创建 表和数据库
创建和删除数据库 create database if not exists sql_store2; //创建 drop database if exists sql_store2; //删除 -- 创建数据库 create database if not exists sql_store2; drop database if exists sql_store2; 创建表 create table customers (someting); -- 创建表 cre…...
使用 Arch Linux 几个月有感 | 为什么我选择 Arch Linux ,Arch 的优缺点有什么 | 一些Linux发行版推荐
(终端是 Yakuake ,KDE 自带) 一点碎碎念,可以跳过不看 几年前从 CentOS 接触的 Linux ,试图搭建一个KMS服务器 但是失败了 ,后来装过 Ubuntu Debian deepin Kali Kubuntu Manjaro,踩一路坑最后…...
SQLserver中的增删改查和数据类型
SQLserver增删查改语句 SQL Server 是一种关系数据库管理系统,用于存储、管理和检索数据。以下是一些基本的 SQL 语句,用于在 SQL Server 中执行增删查改操作: 插入数据(Insert) 插入完整行: INSERT INTO …...
个人收藏个性化、实用性、可玩性在线网站持续更新,与君共享
1.https://handraw.top/ 支持中文手绘效果的白板工具,比较怀旧复古风格 界面简单风 2.https://app.diagrams.net 流程图、UML图、网络图、组织结构图、思维导图等,比较专业 可导出图片 PDF HTLM等各种格式 3.https://www.processon.com 主要用于生成…...
如何快速掌握NoteGen AI笔记:新手入门完整指南
如何快速掌握NoteGen AI笔记:新手入门完整指南 【免费下载链接】note-gen 一款专注于记录和写作的跨端 AI 笔记应用。 项目地址: https://gitcode.com/GitHub_Trending/no/note-gen 在信息爆炸的时代,高效记录和管理知识已成为现代人的刚需。Note…...
薛定谔共价对接实战:如何为你的靶点蛋白快速找到‘锁死’它的共价抑制剂?
薛定谔共价对接实战:靶点蛋白的共价抑制剂高效筛选策略 药物研发领域正经历一场静默革命——共价抑制剂从曾经的"危险分子"摇身变为现代药物设计的明星。与传统可逆抑制剂不同,共价抑制剂能与靶点蛋白形成稳定的共价键,实现近乎不可…...
SDXL 1.0电影级绘图工坊真实案例:文化遗产数字化重建与风格复原实践
SDXL 1.0电影级绘图工坊真实案例:文化遗产数字化重建与风格复原实践 想象一下,你面前有一张因年代久远而模糊不清的古建筑照片,或是仅存于文字描述中的历史场景。如何将它们清晰地、生动地、甚至以不同艺术风格再现出来?这曾是考…...
SmolVLA模型服务监控与告警体系搭建
SmolVLA模型服务监控与告警体系搭建 你刚把SmolVLA模型部署上线,看着它流畅地处理着第一批请求,心里总算踏实了点。但没过多久,问题就来了:半夜突然收到用户反馈说服务变慢了,你赶紧爬起来查,发现是GPU显存…...
如何借助内网穿透工具实现WinSCP跨系统远程文件管理的稳定连接
1. 为什么需要内网穿透实现WinSCP远程文件管理 作为开发者或运维人员,我经常需要在Windows和Linux服务器之间传输文件。最初我尝试用U盘或网盘中转,但效率太低;后来改用WinSCP直连局域网,又遇到跨地域办公的难题。直到发现内网穿透…...
C#安装步骤以及流程易出错提醒修正
C# 开发环境安装步骤 Visual Studio 安装 从 Microsoft 官网 下载 Visual Studio Community(免费版本)。运行安装程序,选择“使用 C# 的桌面开发”工作负载,确保勾选 .NET SDK 和核心组件。 验证安装 打开命令提示符或 PowerShe…...
Flutter Gradle插件迁移指南:从apply script到声明式plugins的实践
1. 为什么需要迁移到声明式plugins块 最近在维护一个Flutter项目时,我发现每次构建Android端都会弹出一个黄色警告:"You are applying Flutters app_plugin_loader Gradle plugin imperatively using the apply script method..."。这个警告看…...
电容器阻抗与ESR频率特性解析:从理论到高频应用实践
1. 电容器阻抗与ESR的基础原理 当你第一次听说电容器有"阻抗"和"ESR"时,可能会觉得这是两个高深莫测的专业术语。其实理解它们并不难,就像理解水管里的水流一样直观。想象一下,电容器就像是一个储水罐,而阻抗…...
终极ESLyric歌词源配置指南:三步解锁酷狗QQ网易云逐字歌词
终极ESLyric歌词源配置指南:三步解锁酷狗QQ网易云逐字歌词 【免费下载链接】ESLyric-LyricsSource Advanced lyrics source for ESLyric in foobar2000 项目地址: https://gitcode.com/gh_mirrors/es/ESLyric-LyricsSource 想在Foobar2000中享受酷狗音乐、QQ…...
【云原生Java冷启动优化黄金法则】:20年实战提炼的7步精准调优路径(含GraalVM+Quarkus实测数据)
第一章:云原生Java函数计算冷启动问题的本质剖析云原生Java函数计算中的冷启动并非单纯由JVM启动耗时导致,而是多层资源调度与运行时初始化耦合引发的系统性延迟现象。其本质在于函数实例生命周期与请求到达时间的异步解耦——当无活跃实例可用时&#x…...
