【LeetCode】3208.交替组II

题目描述:

题目链接:https://leetcode.cn/problems/alternating-groups-ii/description/?envType=daily-question&envId=2024-11-27

思路一:暴力解法(超时)

遍历对每一个元素与其后面K-1个元素组成的K个元素均判断是否满足条件,若满足条件res+1

cpp 复制代码
class Solution {
public:
    int numberOfAlternatingGroups(vector<int>& colors, int k) {
        int res = 0;
        int n = colors.size();
        for(int i=0; i<n; i++){
            
            int temp = colors[i];
            bool flag = true;
            for(int j=1; j<k ; j++){
                if(colors[(i+j)%n] == temp){
                    flag = false;
                    break;
                }
                temp = colors[(i+j)%n];
            }
            if(flag){
                res += 1;
            }
        }
        return res;
    }
};

思路二:

解题思路:

代码实现:

cpp 复制代码
class Solution {
public:
    int numberOfAlternatingGroups(vector<int>& colors, int k) {
        
        int n = colors.size();
        int res = 0;
        int temp = 1;

        for(int i=-k+1; i<n-1; i++){
            if(colors[(i+n)%n] != colors[(i+n+1)%n]){
                temp+=1;
            }
            else{
                temp=1;
            }

            if(temp>=k){
                res+=1;
            }
        }
        return res;
    }
};
相关推荐
田梓燊6 分钟前
红黑树分析 1
算法
晚风吹长发32 分钟前
二分查找算法+题目详解
c++·算法·二分查找
悠悠~飘38 分钟前
18.PHP基础-递归递推算法
算法·php
pilgrim531 小时前
结合 Leetcode 题探究KMP算法
算法·leetcode
罗义凯1 小时前
其中包含了三种排序算法的注释版本(冒泡排序、选择排序、插入排序),但当前只实现了数组的输入和输出功能。
数据结构·c++·算法
kevien_G12 小时前
JAVA之二叉树
数据结构·算法
syt_biancheng2 小时前
Day3算法训练(简写单词,dd爱框框,3-除2!)
开发语言·c++·算法·贪心算法
二进制的Liao3 小时前
【编程】脚本编写入门:从零到一的自动化之旅
数据库·python·算法·自动化·bash
自然数e3 小时前
C++多线程【线程管控】之线程转移以及线程数量和ID
开发语言·c++·算法·多线程
John_ToDebug3 小时前
重建内在秩序:从神经科学理解情绪的逻辑
程序人生·职场和发展