Leetcode3208. 交替组 II
Every day a Leetcode
题目来源:3208. 交替组 II
解法1:环形数组
把数组复制一份拼接起来,和 3101 题一样,遍历数组的同时,维护以 i 为右端点的交替子数组的长度 cnt。
如果 i ≥ n 且 cnt ≥ k,那么 i 就是一个长为 k 的交替子数组的右端点,答案加一。注意这里要判断 i ≥ n,从而避免重复统计。
代码实现时,不需要复制数组,而是用 i mod n 的方式取到对应的值。
代码:
/** @lc app=leetcode.cn id=3208 lang=cpp** [3208] 交替组 II*/// @lc code=start
class Solution
{
public:int numberOfAlternatingGroups(vector<int> &colors, int k){int n = colors.size();int ans = 0, cnt = 0;for (int i = 0; i < n * 2; i++){if (i > 0 && colors[i % n] == colors[(i - 1) % n]){cnt = 0;}cnt++;ans += i >= n && cnt >= k;}return ans;}
};
// @lc code=end
结果:

复杂度分析:
时间复杂度:O(n),其中 n 是数组 colors 的长度。
空间复杂度:O(1)。
相关文章:
Leetcode3208. 交替组 II
Every day a Leetcode 题目来源:3208. 交替组 II 解法1:环形数组 把数组复制一份拼接起来,和 3101 题一样,遍历数组的同时,维护以 i 为右端点的交替子数组的长度 cnt。 如果 i ≥ n 且 cnt ≥ k,那么 i…...
汇编教程2
本教程主要教大家如何安装32位Linux虚拟机,为后续实验拆炸弹做准备 下载系统映像文件 以Ubuntu14.04.6系统为例 官方网站:下载地址 点击下载图中32位系统 如果官网进不去可以使用镜像网站 清华镜像网站:下载地址 进入之后找到下图中链接…...
使用 git 和 GitHub 互动
本文根据《GitHub入门与实践》整理 创建账户 要想使用GitHub那就必须先有GitHub账号,账号自行注册,不作介绍。 本地生成 SSH Key SSH 提供了一种安全的方式来通过不安全的网络进行通信。当你使用SSH key连接到GitHub时,你的身份是通过密钥对(一个公钥和一个私钥)来验…...
【Spring Boot 中的 `banner.txt` 和 `logback-spring.xml` 配置】
文章目录 一、banner.txt1. 创建自定义 banner.txt2. 配置 banner.txt 的内容 二、logback-spring.xml1. 创建 logback-spring.xml2. 配置 logback-spring.xml 一、banner.txt banner.txt 是 Spring Boot 项目启动时显示的自定义横幅内容。用来展示项目名称、版本信息或者其他…...
Python Linux环境(Centos8)安装minicoda3+jupyterlab
文章目录 安装miniconda安装python环境启动 最近服务器检查,我下面的服务器有漏洞,不得已重装了,正好记录下怎么从零到python写代码。 安装miniconda miniconda是anconda的精简版,就是管理python环境的得力助手。 # 创建一个名…...
Python PDF Magic:合并和拆分随心所欲
大家好!小编今天要为大家带来一篇关于Python操作PDF的秘籍——无论是要将PDF合并成一份整体,还是将一个庞大的PDF文件拆分成多个小伙伴,都轻松hold住!你准备好了吗?让我们开始这场奇妙的PDF操作之旅吧! 准…...
Gmsh应用程序编程接口
Gmsh应用程序编程接口(API)允许将Gmsh库集成到使用C、C、Python、Julia或Fortran编写的外部应用程序中。从设计上讲,Gmsh API是纯粹功能性的,并且仅使用目标语言的基本类型。 API的结构反映了底层的Gmsh数据模型(也请参…...
DP 203 学习笔记
考试内容总览 Learning Objects: 工具 Designing and implementing data storage 1. Storage Azure Synapse Analytics Azure Databricks Azure Data Lake Storage Gen2(ADLS2,可代替Hadoop Distributed File System也就是HDFS) 2. Shard Partition data store …...
SQLite 事务
SQLite 事务 SQLite 是一种轻量级的数据库管理系统,广泛用于各种应用程序中,特别是在移动设备和嵌入式系统中。它支持标准的 SQL 语法,包括事务处理。事务是数据库管理系统中的一个重要概念,它允许将一系列操作作为一个单独的工作单元来处理,以确保数据库的一致性和可靠性…...
LabVIEW和Alicat Scientific质量流量计实现精确流量控制
在现代工业自动化和科研实验中,精确的气体流量控制至关重要。这里将介绍一个使用LabVIEW与Alicat Scientific公司的质量流量计实现流量控制的项目。项目采用Alicat Scientific的质量流量计(型号:M-200SCCM-D),通过LabV…...
2024-07-19 Unity插件 Odin Inspector10 —— Misc Attributes
文章目录 1 说明2 其他特性2.1 CustomContextMenu2.2 DisableContextMenu2.3 DrawWithUnity2.4 HideDuplicateReferenceBox2.5 Indent2.6 InfoBox2.7 InlineProperty2.8 LabelText2.9 LabelWidth2.10 OnCollectionChanged2.11 OnInspectorDispose2.12 OnInspectorGUI2.13 OnIns…...
Go操作Redis详解
文章目录 Go操作Redis详解来源介绍Redis支持的数据结构Redis应用场景Redis与Memcached比较准备Redis环境go-redis库 安装连接普通连接连接Redis哨兵模式连接Redis集群基本使用set/get示例zset示例Pipeline事务WatchGo操作Redis详解 来源 https://www.liwenzhou.com/posts/Go/…...
钡铼Modbus TCP耦合器BL200实现现场设备与SCADA无缝对接
前言 深圳钡铼技术推出的Modbus TCP耦合器为SCADA系统与现场设备之间的连接提供了强大而灵活的解决方案,它不仅简化了设备接入的过程,还提升了数据传输的效率和可靠性,是工业自动化项目中不可或缺的关键设备。本文将从Modbus TC、SCADA的简要…...
数据分析入门:用Python和Numpy探索音乐流行趋势
一、引言 音乐是文化的重要组成部分,而音乐流行趋势则反映了社会文化的变迁和人们审美的变化。通过分析音乐榜单,我们可以了解哪些歌曲或歌手正在受到大众的欢迎,甚至预测未来的流行趋势。Python作为一种强大的编程语言,结合其丰…...
数仓工具—Hive语法之替换函数和示例
Hive 替换函数和示例 默认情况下,并没有可用的 Hive 替换函数。如果在处理字符串时需要替换特定值,例如垃圾值,字符串操作函数替换是非常需要的。在本文中,我们将检查 Hive 替换函数 的替代方法,以便在需要时使用。 如前所述,Apache Hive 不提供替换函数的支持。但是,…...
[SUCTF 2019]EasySQL1
这是一个简单的SQL注入题,但是因为我的SQL基础约等于0,所以做起来很难。 首先试试引号是否被过滤 可以看到单引号、双引号都被过滤了,试试其他的盲注都不行,基本上可以确定不能用这种方法。 在测试的过程中发现,输入…...
elasticsearch, kibana, 6.8.18 版本下的创建索引,指定timestamp,java CRUD,maven版本等
ELK 这一套的版本更迭很快, 而且es常有不兼容的东西出现, 经常是搜一篇文章,看似能用,拿到我这边就不能用了。 很是烦恼。 我这边的ELK版本目前是 6.8.18,这次的操作记录一下。 (涉密内容略有删改…...
无人机侦察:二维机扫雷达探测设备技术详解
二维机扫雷达探测设备采用机械扫描方式,通过天线在水平方向和垂直方向上的转动,实现对目标空域的全方位扫描。雷达发射机发射电磁波信号,遇到目标后产生反射,反射信号被雷达接收机接收并处理,进而得到目标的位置、速度…...
未来互联网的新篇章:深度解析Web3技术
随着技术的飞速发展,Web3作为新一代互联网技术范式,正在重新定义我们对互联网的认知和使用方式。本文将深入探讨Web3技术的核心概念、关键特征以及其在未来互联网发展中的潜力和影响,为读者打开Web3时代的大门。 Web3技术的核心概念和特征 1…...
vst 算法R语言手工实现 | Seurat4 筛选高变基因的算法
1. vst算法描述 (1)为什么需要矫正 image source: https://ouyanglab.com/singlecell/basic.html In this panel, we observe that there is a very strong positive relationship between a gene’s average expression and its observed variance. I…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
