【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;
    }
};
相关推荐
木子.李3475 小时前
排序算法总结(C++)
c++·算法·排序算法
闪电麦坤957 小时前
数据结构:递归的种类(Types of Recursion)
数据结构·算法
互联网杂货铺7 小时前
完美搭建appium自动化环境
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
Gyoku Mint7 小时前
机器学习×第二卷:概念下篇——她不再只是模仿,而是开始决定怎么靠近你
人工智能·python·算法·机器学习·pandas·ai编程·matplotlib
纪元A梦7 小时前
分布式拜占庭容错算法——PBFT算法深度解析
java·分布式·算法
px不是xp8 小时前
山东大学算法设计与分析复习笔记
笔记·算法·贪心算法·动态规划·图搜索算法
枫景Maple9 小时前
LeetCode 2297. 跳跃游戏 VIII(中等)
算法·leetcode
鑫鑫向栄9 小时前
[蓝桥杯]修改数组
数据结构·c++·算法·蓝桥杯·动态规划
鑫鑫向栄9 小时前
[蓝桥杯]带分数
数据结构·c++·算法·职场和发展·蓝桥杯