首页 > 其他分享 >leetcode3208. 交替组 II

leetcode3208. 交替组 II

时间:2024-11-27 19:43:41浏览次数:7  
标签:leetcode3208 int ++ cnt II 交替 colors 数组 ans

循环数组问题,指针问题

代码

比较好实现的,只需要对右端点维护,如果达到了>=k便可以被计数,循环数组可以两边循环做到

点击查看代码
class Solution {
    public int numberOfAlternatingGroups(int[] colors, int k) {
        int n = colors.length;
        int ans = 0;
        int cnt = 0;
        for(int i = 0; i < n * 2; i++){
            if(i > 0 && colors[i%n] == colors[(i - 1) % n]){
                cnt = 0;
            }
            cnt++;
            //i > n这个条件确保了我们只在至少遍历了数组一次后,才开始计算交替组的数量
            //维护右端,n*2的长度前n个就不能被计数
            if(i > n && cnt >= k){
                ans++;
            }
        }
        return ans;
    }
}

标签:leetcode3208,int,++,cnt,II,交替,colors,数组,ans
From: https://www.cnblogs.com/ttdb-huu/p/18572975

相关文章

  • [luoguSP10707] Count on a tree II
    题意原题链接给定一棵树,节点\(i\)上有颜色\(c_i\),多次询问,每次查询两点之间的路径中的不同颜色数。sol这是一道类似普通莫队[luoguSP3267]D-query的题目,但是是在树上询问的,因此考虑将树转化为序列计算。将树转化为序列包括DFS序,欧拉序和树链剖分三种,树链剖分复杂度更......
  • 2024年11月27日 比较字符的ASCII码值
    浅浅的随笔`#define_CRT_SECURE_NO_WARNINGS1//创建一个字符chara[10]//键盘输入十个字母并输出//找出ASCII最大值和最小值的字母//对数组进行排序(降序)#include<stdio.h>#defineN10intmain(){ chararr[N]={0};//创建数组 inti=0; printf("输入10个字......
  • 【每日一题】3206. 交替组
    给你一个整数数组 colors ,它表示一个由红色和蓝色瓷砖组成的环,第 i 块瓷砖的颜色为 colors[i] :colors[i]==0 表示第 i 块瓷砖的颜色是 红色 。colors[i]==1 表示第 i 块瓷砖的颜色是 蓝色 。环中连续3块瓷砖的颜色如果是 交替 颜色(也就是说中间瓷砖......
  • 代码随想录:四数相加 II
    代码随想录:四数相加II我还以为会有更快的速度呢。。没想到最佳答案就是n^2不过值得一提的,这题一开始可能会想到用multiset来解决重复出现的元素,但实际上,multiset的查询速度是logn,是不如用哈希表的,所以用unordered_map,用键值对的值来表示元素出现的次数。classSolution{publ......
  • LeetCode【0227】基本计算器 II
    本文目录1中文题目2Python求解2.1求解思路2.2涉及方法2.3求解示例2.4Python代码2.5复杂度分析3题目总结1中文题目给定一个字符串表达式s,请实现一个基本计算器来计算并返回它的值。整数除法仅保留整数部分。可以假设给定的表达式总是有效的。所有中间结......
  • 代码随想录算法训练营day55 day57| 108.冗余连接 109.冗余连接II 53.寻宝
    学习资料:https://www.programmercarl.com/kamacoder/0108.冗余连接.html#思路图论并查集prim算法kruskal算法学习记录:108.冗余连接点击查看代码#并查集解法classUnionFind:def__init__(self,size):self.parent=list(range(size+1))deffind(se......
  • Java项目实战II基于SPringBoot的玩具销售商城管理系统(开发文档+数据库+源码)
    目录一、前言二、技术介绍三、系统实现四、核心代码五、源码获取全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末一、前言随着儿童娱乐与教育需求的日益增长,玩具市场呈现出蓬勃......
  • .NET 8.0 网站部署到IIS教程
    默认打开显示是这样。1.安装.NETHostingBundlehttps://dotnet.microsoft.com/zh-cn/download/dotnet/9.0 2.设置权限确保IIS的用户账户有权限访问发布文件夹。右键发布文件夹>属性>安全。添加用户IIS_IUSRS,并赋予读取与执行权限。    ......
  • 代码随想录算法训练营第二十五天|LeetCode491.递增子序列、46.全排列、47.全排列II、3
    前言打卡代码随想录算法训练营第49期第二十五天  ○(^皿^)っHiahiahia…首先十分推荐学算法的同学可以先了解一下代码随想录,可以在B站卡哥B站账号、代码随想录官方网站代码随想录了解,卡哥清晰易懂的算法教学让我直接果断关注,也十分有缘和第49期的训练营大家庭一起进步。今......
  • Java毕设项目案例实战II基于Java+SSM+Mysql的医院预约挂号系统(开发文档+数据库+源码)
    目录一、前言二、技术介绍三、系统实现四、核心代码五、源码获取全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。一、前言在当今快节奏的社会中,医疗服务的高效性和便捷性成为了人们日益关注的焦点。特别是......