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)。

相关推荐

  1. LeeCode】350.两个数交集 II

    2024-07-20 20:14:01       50 阅读
  2. C/C++---------------LeetCode第350. 两个数交集 II

    2024-07-20 20:14:01       47 阅读
  3. 91 两个数交集II

    2024-07-20 20:14:01       48 阅读
  4. LeetCode349.两个数交集

    2024-07-20 20:14:01       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 20:14:01       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 20:14:01       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 20:14:01       45 阅读
  4. Python语言-面向对象

    2024-07-20 20:14:01       55 阅读

热门阅读

  1. buuctf-reverse write-ups (1)

    2024-07-20 20:14:01       12 阅读
  2. Android init.rc各阶段的定义和功能

    2024-07-20 20:14:01       19 阅读
  3. tebi.io免费对象存储,可托管静态网站

    2024-07-20 20:14:01       18 阅读
  4. 【vueUse库Array模块各函数简介及使用方法--下篇】

    2024-07-20 20:14:01       18 阅读
  5. 面经学习(厦门安全狗实习)

    2024-07-20 20:14:01       15 阅读
  6. 【项目-轻量级Web Server 定时器模块】

    2024-07-20 20:14:01       12 阅读
  7. C++学习笔记-用const修饰的类成员函数

    2024-07-20 20:14:01       14 阅读
  8. 量化机器人如何助力定量分析?

    2024-07-20 20:14:01       18 阅读
  9. 桌面应用打开默认全屏功能

    2024-07-20 20:14:01       17 阅读
  10. sqlalchemy打印query的SQL和参数

    2024-07-20 20:14:01       16 阅读
  11. 力扣2336.无限集中的最小数字

    2024-07-20 20:14:01       18 阅读
  12. Perl 语言入门学习

    2024-07-20 20:14:01       17 阅读
  13. 简单工厂模式

    2024-07-20 20:14:01       19 阅读
  14. MySQL基本语法规则 By 尚硅谷

    2024-07-20 20:14:01       16 阅读