3349、检测相邻递增子数组 Ⅰ

server/2024/11/25 17:21:57/

3349、leetcode.cn/problems/adjacent-increasing-subarrays-detection-i/description/" rel="nofollow">[简单] 检测相邻递增子数组 Ⅰ

1、题目描述

给你一个由 n 个整数组成的数组 nums 和一个整数 k,请你确定是否存在 两个 相邻 且长度为 k严格递增 子数组。具体来说,需要检查是否存在从下标 ab (a < b) 开始的 两个 子数组,并满足下述全部条件:

  • 这两个子数组 nums[a..a + k - 1]nums[b..b + k - 1] 都是 严格递增 的。
  • 这两个子数组必须是 相邻的,即 b = a + k

如果可以找到这样的 两个 子数组,请返回 true;否则返回 false

子数组 是数组中的一个连续 非空 的元素序列。

2、解题思路

要解决这个问题,我们需要检查数组 nums 中是否存在两个相邻的严格递增子数组,且每个子数组的长度为 k。因此,可以将问题分解为以下步骤:

  1. 检查递增子数组:我们先遍历 nums,找出从每个索引 i 开始的长度为 k 的子数组是否为严格递增。
  2. 相邻递增子数组检查:如果在遍历过程中找到了满足条件的相邻严格递增子数组,则返回 true。如果遍历结束没有找到,返回 false。

3、解题过程

  1. 从数组的每个索引 i 开始,检查 nums[i..i+k-1] 是否严格递增。
  2. 如果 nums[i..i+k-1]nums[i+k..i+2*k-1] 都是严格递增的,且满足两个子数组是相邻的,则返回 true
  3. 如果遍历完毕没有找到满足条件的子数组,则返回 false

4、代码实现

class Solution {
public:bool hasIncreasingSubarrays(vector<int>& nums, int k) {int n = nums.size();// 边界情况检查if (n < 2 * k) {return false;}// 遍历数组, 检查相邻的递增子数组for (int i = 0; i <= n - 2 * k; ++i) {bool firstIncreasing = true, secondIncreasing = true;// 检查第一个长度为 k 的子数组是否严格递增for (int j = i; j < i + k - 1; ++j) {if (nums[j] >= nums[j + 1]) {firstIncreasing = false;break;}}// 检查第二个长度为 k 的子数组是否严格递增for (int j = i + k; j < i + 2 * k - 1; ++j) {if (nums[j] >= nums[j + 1]) {secondIncreasing = false;break;}}// 如果相邻的两个子数组都是严格递增的, 则返回 trueif (firstIncreasing && secondIncreasing) {return true;}}// 遍历完后仍未找到符合条件的子数组, 返回 falsereturn false;}
};

http://www.ppmy.cn/server/144851.html

相关文章

FIber + webWorker

文章目录 Fiber主要功能解决的问题如何解决 webworker 多线程作用使用注意点使用1 主线程3 Worker 加载脚本4 错误处理5 关闭 Worker 数据通信 Fiber 主要功能 为每个增加了优先级&#xff0c;优先级高的任务可以中断低优先级的任务。然后再重新执行优先级低的任务增加了异步…

TCP为什么需要三次握手?两次握手或四次握手可以吗?

&#xff08;1&#xff09;三次握手可以保证双方具有接收和发送的能力 第一次握手服务端可以确认客户端的发送能力和服务端的接收能力是正常的&#xff1b;第二次握手客户端可以确认客户端和服务端的收发能力是正常的&#xff0c;但是服务端无法确认客户端的接收能力是正常的&…

使用php和Xunsearch提升音乐网站的歌曲搜索效果

文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons&#xff1a;JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram&#xff0c;自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 &#xff1f; 5 IDEA必装的插件&…

FastAPI和SQLModel结合的优点

FastAPI和SQLModel的结合为现代Web应用开发带来了一系列显著的优势&#xff0c;特别适合需要与SQL数据库交互的场景。以下是它们结合的一些主要优点&#xff1a; 简短的代码&#xff1a;SQLModel通过使用Python类型注解来定义数据模型&#xff0c;最小化代码重复&#xff0c;无…

原生微信小程序在顶部胶囊左侧水平设置自定义导航兼容各种手机模型

无论是在什么手机机型下&#xff0c;自定义的导航都和右侧的胶囊水平一条线上。如图下 以上图iphone12&#xff0c;13PRo 以上图是没有带黑色扇帘的机型 以下是调试器看的wxml的代码展示 注意&#xff1a;红色阔里的是自定义导航&#xff08;或者其他的logo啊&#xff0c;返回之…

wpf处理C1FlexGrid 表格合计统计项处理,新增和查询都要生效

控件的两个事件都需要调用这个方法&#xff0c;新增的时候不写CellEditEnded&#xff0c;不然不会生效 ItemsSourceChanged"DetailGrid_ItemsSourceChanged" CellEditEnded"DetailGrid_ItemsSourceChanged" /// <summary> /// 列表1合计 …

蓝桥杯疑似例题解答方案(打印任意阶杨辉三角)

题目&#xff1a;输入n&#xff0c;打印n阶的杨辉三角 杨辉三角是一种特殊的由数字构成的三角形&#xff0c;边缘上的数字都是1&#xff0c;内部的数字则是左上角和右上角数字的加和。它本质上其实是二项展开的系数序列&#xff08;我们通过这个性质可以给出一种与本篇文章的方…

力扣-位运算-2【算法学习day.42】

前言 ###我做这类文档一个重要的目的还是给正在学习的大家提供方向&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非常非常高滴&am…