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

LeetCode 3105.最长的严格递增或递减子数组

给你一个整数数组 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 。

提示:

  • 1 <= nums.length <= 50
  • 1 <= nums[i] <= 50

分组循环,严格递增或严格递减的为一组,找最长的组:

class Solution {
public:int longestMonotonicSubarray(vector<int>& nums) {int n = nums.size();int ans = 0;int i = 0;while (i < n) {int start = i;++i;while (i < n && (nums[i] - nums[i - 1]) * (nums[start + 1] - nums[start]) > 0) {++i;}ans = max(ans, i - start);// 循环结束时,[start, i - 1]是严格递增或递减的// 下次循环从i - 1位置开始if (i < n && nums[i] != nums[i - 1]) {--i;}}return ans;}
};

如果nums的长度为n,则此算法时间复杂度为O(n),空间复杂度为O(1)。

http://www.dtcms.com/a/406644.html

相关文章:

  • 制造业数字化转型:iPaaS 如何打通 MES 与 ERP?
  • Leetcode 148. 排序链表 归并排序
  • 手机参数对比的网站宁波网站推广方式
  • 智能边缘:下一代边缘计算架构设计与实践
  • 电力专用通讯管理机,搭载国产化CPU,提供多网多串等丰富的通讯接口,适配麒麟、凝思等国 产化操作系统
  • 网站建设的岗位是什么岗位深圳公司注册的服务机构
  • 栈的进阶篇
  • 通义千问大模型调用
  • KMP和扩展KMP
  • 做房产信息互联网网站需要什么资质织梦开发供需网站
  • 汽车安全性能测试与铸铁底座的重要性
  • 郴州网站建设解决方案计算机网页制作工具
  • DHCP服务器
  • wordpress nginx 固定链接seo推广的特点
  • AI算力加速
  • 《强化学习数学原理》学习笔记1——贝尔曼期望公式推导
  • 9.9元奶茶项目:matlab+FPGA的cordic算法(双曲线向量模式)计算对数log
  • 发布网站需要备案安徽省住房城乡建设厅官方网站
  • 初识MYSQL —— 数据库基础
  • PHP 8.5 升级指南 了解即将废弃的 11 个功能和完整迁移方案
  • 月饼杯II
  • OpenHarmony位置服务模块架构设计
  • 河南制作网站国外wordpress主题
  • C# WPF DataGrid 数据绑定时的单元格编辑类型模板
  • 天津微网站做年报的网站
  • Marin说PCB之POC电路layout设计仿真案例---13
  • 随堂笔记2025-925
  • 龙岩建网站wordpress php7 500
  • 阿里云 iis 多个网站建筑公司资质
  • Python读取MongoDB的JSON字典和列表对象转为字符串