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

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 题目来源&#xff1a;3208. 交替组 II 解法1&#xff1a;环形数组 把数组复制一份拼接起来&#xff0c;和 3101 题一样&#xff0c;遍历数组的同时&#xff0c;维护以 i 为右端点的交替子数组的长度 cnt。 如果 i ≥ n 且 cnt ≥ k&#xff0c;那么 i…...

汇编教程2

本教程主要教大家如何安装32位Linux虚拟机&#xff0c;为后续实验拆炸弹做准备 下载系统映像文件 以Ubuntu14.04.6系统为例 官方网站&#xff1a;下载地址 点击下载图中32位系统 如果官网进不去可以使用镜像网站 清华镜像网站&#xff1a;下载地址 进入之后找到下图中链接…...

使用 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环境启动 最近服务器检查&#xff0c;我下面的服务器有漏洞&#xff0c;不得已重装了&#xff0c;正好记录下怎么从零到python写代码。 安装miniconda miniconda是anconda的精简版&#xff0c;就是管理python环境的得力助手。 # 创建一个名…...

Python PDF Magic:合并和拆分随心所欲

大家好&#xff01;小编今天要为大家带来一篇关于Python操作PDF的秘籍——无论是要将PDF合并成一份整体&#xff0c;还是将一个庞大的PDF文件拆分成多个小伙伴&#xff0c;都轻松hold住&#xff01;你准备好了吗&#xff1f;让我们开始这场奇妙的PDF操作之旅吧&#xff01; 准…...

Gmsh应用程序编程接口

Gmsh应用程序编程接口&#xff08;API&#xff09;允许将Gmsh库集成到使用C、C、Python、Julia或Fortran编写的外部应用程序中。从设计上讲&#xff0c;Gmsh API是纯粹功能性的&#xff0c;并且仅使用目标语言的基本类型。 API的结构反映了底层的Gmsh数据模型&#xff08;也请参…...

DP 203 学习笔记

考试内容总览 Learning Objects: 工具 Designing and implementing data storage 1. Storage Azure Synapse Analytics Azure Databricks Azure Data Lake Storage Gen2(ADLS2&#xff0c;可代替Hadoop Distributed File System也就是HDFS) 2. Shard Partition data store …...

SQLite 事务

SQLite 事务 SQLite 是一种轻量级的数据库管理系统,广泛用于各种应用程序中,特别是在移动设备和嵌入式系统中。它支持标准的 SQL 语法,包括事务处理。事务是数据库管理系统中的一个重要概念,它允许将一系列操作作为一个单独的工作单元来处理,以确保数据库的一致性和可靠性…...

LabVIEW和Alicat Scientific质量流量计实现精确流量控制

在现代工业自动化和科研实验中&#xff0c;精确的气体流量控制至关重要。这里将介绍一个使用LabVIEW与Alicat Scientific公司的质量流量计实现流量控制的项目。项目采用Alicat Scientific的质量流量计&#xff08;型号&#xff1a;M-200SCCM-D&#xff09;&#xff0c;通过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系统与现场设备之间的连接提供了强大而灵活的解决方案&#xff0c;它不仅简化了设备接入的过程&#xff0c;还提升了数据传输的效率和可靠性&#xff0c;是工业自动化项目中不可或缺的关键设备。本文将从Modbus TC、SCADA的简要…...

数据分析入门:用Python和Numpy探索音乐流行趋势

一、引言 音乐是文化的重要组成部分&#xff0c;而音乐流行趋势则反映了社会文化的变迁和人们审美的变化。通过分析音乐榜单&#xff0c;我们可以了解哪些歌曲或歌手正在受到大众的欢迎&#xff0c;甚至预测未来的流行趋势。Python作为一种强大的编程语言&#xff0c;结合其丰…...

数仓工具—Hive语法之替换函数和示例

Hive 替换函数和示例 默认情况下,并没有可用的 Hive 替换函数。如果在处理字符串时需要替换特定值,例如垃圾值,字符串操作函数替换是非常需要的。在本文中,我们将检查 Hive 替换函数 的替代方法,以便在需要时使用。 如前所述,Apache Hive 不提供替换函数的支持。但是,…...

[SUCTF 2019]EasySQL1

这是一个简单的SQL注入题&#xff0c;但是因为我的SQL基础约等于0&#xff0c;所以做起来很难。 首先试试引号是否被过滤 可以看到单引号、双引号都被过滤了&#xff0c;试试其他的盲注都不行&#xff0c;基本上可以确定不能用这种方法。 在测试的过程中发现&#xff0c;输入…...

elasticsearch, kibana, 6.8.18 版本下的创建索引,指定timestamp,java CRUD,maven版本等

ELK 这一套的版本更迭很快&#xff0c; 而且es常有不兼容的东西出现&#xff0c; 经常是搜一篇文章&#xff0c;看似能用&#xff0c;拿到我这边就不能用了。 很是烦恼。 我这边的ELK版本目前是 6.8.18&#xff0c;这次的操作记录一下。 &#xff08;涉密内容略有删改&#xf…...

无人机侦察:二维机扫雷达探测设备技术详解

二维机扫雷达探测设备采用机械扫描方式&#xff0c;通过天线在水平方向和垂直方向上的转动&#xff0c;实现对目标空域的全方位扫描。雷达发射机发射电磁波信号&#xff0c;遇到目标后产生反射&#xff0c;反射信号被雷达接收机接收并处理&#xff0c;进而得到目标的位置、速度…...

未来互联网的新篇章:深度解析Web3技术

随着技术的飞速发展&#xff0c;Web3作为新一代互联网技术范式&#xff0c;正在重新定义我们对互联网的认知和使用方式。本文将深入探讨Web3技术的核心概念、关键特征以及其在未来互联网发展中的潜力和影响&#xff0c;为读者打开Web3时代的大门。 Web3技术的核心概念和特征 1…...

vst 算法R语言手工实现 | Seurat4 筛选高变基因的算法

1. vst算法描述 &#xff08;1&#xff09;为什么需要矫正 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…...

阿里通义千问大模型Qwen2-72B-Instruct通用能力登顶国内第一!

前言&#xff1a; 中国互联网协会副秘书长裴玮近日在2024中国互联网大会上发布《中国互联网发展报告(2024)》。《报告》指出&#xff0c; 在人工智能领域&#xff0c;2023年我国人工智能产业应用进程持续推进&#xff0c;核心产业规模达到5784亿元。 截至2024年3月&#xff…...

CH04_依赖项属性

第4章&#xff1a;依赖项属性 本章目标 理解依赖项属性理解属性验证 依赖项属性 ​ 属性与事件是.NET抽象模型的核心部分。WPF使用了更高级的依赖项属性&#xff08;Dependency Property&#xff09;功能来替换原来.NET的属性&#xff0c;实现了更高效率的保存机制&#xf…...

CentOS 7开启SSH连接

1. 安装openssh-server 1.1 检查是否安装openssh-server服务 yum list installed | grep openssh-server如果有显示内容&#xff0c;则已安装跳过安装步骤&#xff0c;否则进行第2步 1.2 安装openssh-server yum install openssh-server2. 开启SSH 22监听端口 2.1 打开ssh…...

代理伺服器分類詳解

代理伺服器的主要分類 代理伺服器可以根據不同的標準進行分類。以下是幾種常見的分類方式&#xff1a; 按協議分類按匿名性分類按使用場景分類 1. 按協議分類 根據支持的協議類型&#xff0c;代理伺服器可以分為以下幾類&#xff1a; HTTP代理&#xff1a;專門用於處理HTT…...

计数,桶与基数排序

目录 一. 计数排序 概念 步骤思路如下 实现代码如下 时间复杂度与空间复杂度 1. 时间复杂度 2. 空间复杂度 计数排序的特点 二. 桶排序 概念 步骤思路如下 实现代码如下 时间复杂度与空间复杂度 1. 时间复杂度 2. 空间复杂度 桶排序的特点 三. 基数排序 概念 步…...

unity渲染人物模型透明度问题

问题1&#xff1a;有独立的手和衣服的模型&#xff0c;但最终只渲染出来半透明衣服 问题2&#xff1a;透明度贴图是正确的但显示却不正确 这上面两个模型的问题都是因为人物模型是一个完整的&#xff0c;为啥有些地方可以正常显示&#xff0c;有些地方透明度却有问题。 其中…...

CH03_布局

第3章&#xff1a;布局 本章目标 理解布局的原则理解布局的过程理解布局的容器掌握各类布局容器的运用 理解 WPF 中的布局 WPF 布局原则 ​ WPF 窗口只能包含单个元素。为在WPF 窗口中放置多个元素并创建更贴近实用的用户男面&#xff0c;需要在窗口上放置一个容器&#x…...

【Oracle】Oracle中的merge into

目录 解释使用场景语法示例案例一案例二 MERGE INTO的优缺点优点&#xff1a;缺点&#xff1a; 注意事项附&#xff1a;Oracle中的MERGE INTO实现的效果&#xff0c;如果改为用MySQL应该怎么实现注意 解释 在Oracle数据库中&#xff0c;MERGE INTO是一种用于对表进行合并&…...

【论文阅读笔记】In Search of an Understandable Consensus Algorithm (Extended Version)

1 介绍 分布式一致性共识算法指的是在分布式系统中&#xff0c;使得所有节点对同一份数据的认知能够达成共识的算法。且算法允许所有节点像一个整体一样工作&#xff0c;即使其中一些节点出现故障也能够继续工作。之前的大部分一致性算法实现都是基于Paxos&#xff0c;但Paxos…...

CentOS 7 网络配置

如想了解请查看 虚拟机安装CentOS7 第一步&#xff1a;查看虚拟机网络编辑器、查看NAT设置 &#xff08;子网ID&#xff0c;网关IP&#xff09; 第二步&#xff1a;配置VMnet8 IP与DNS 注意事项&#xff1a;子网掩码与默认网关与 第一步 保持一致 第三步&#xff1a;网络配置…...

哪些网站做的好看/万网官网

一、无法动态更新数据的实例 1. 如下&#xff0c;数据库中创建了班级表和教师表&#xff0c;两张表的对应关系为“多对多” 1 from django.db import models2 3 4 class Classes(models.Model):5 title models.CharField(max_length32)6 7 8 class Teacher(models.Model):…...

wordpress错误页/小米市场营销案例分析

每个所谓的 Token Economy&#xff08;代币经济&#xff09;&#xff0c;在没有落地之前&#xff0c;都只是一个金融游戏。文 | 王也 运营 | 盖遥 编辑 | 卢晓明出品 | Odaily星球日报&#xff08;ID&#xff1a;o-daily&#xff09;距离 Algorand 第一次荷兰拍卖结束已经一个…...

wordpress怎么自动生成内链/360站长工具seo

LinkedList实现队列简单描述&#xff1a;使用java.util.Queue接口,其底层关联到一个LinkedList&#xff08;双端队列&#xff09;实例。由于只暴露部分基于队列实现的接口&#xff0c;所以可以提供安全的队列实现。 LinkedList实现队列代码&#xff1a; package junit;import j…...

网站怎样做wap端/国通快速建站

第1关:通信簿.csv文件进行查询 本关任务:编写函数cztxb,实现根据姓名对通信录.csv文件查询。输入查询的姓名,若文件中存在该人,显示其信息;当查询的姓名不存在时,显示“查无此人”。 #当前位置的sc文件夹下csv格式文件“通信簿”, #该文件每行记录一个姓名、住址、电话…...

怎样做微网站/网络营销推广的总结

https://blog.csdn.net/u010312949/category_7640395.html 参考 1&#xff1a;啥是串口 串行接口简称串口&#xff0c;也称串行通信接口或串行通讯接口&#xff08;通常指COM接口&#xff09;&#xff0c;是采用串行通信方式的扩展接口。串行接口 &#xff08;Serial Interfac…...

wordpress缩略图模糊/工具大全

在VMware里克隆出来的CentOS Linux&#xff0c;ifconfig...没有看到eth0&#xff0c;然后重启网卡又报下面错误。 故障现象&#xff1a; service network restartShutting down loopback insterface: …...