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

【LeetCode】3208.交替组II

题目描述:
题目链接:https://leetcode.cn/problems/alternating-groups-ii/description/?envType=daily-question&envId=2024-11-27
在这里插入图片描述

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

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

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;
    }
};

思路二:
解题思路:
在这里插入图片描述
代码实现:

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;
    }
};

http://www.kler.cn/a/418492.html

相关文章:

  • 【BUUCTF杂项题】荷兰宽带数据泄露、九连环
  • Java 大视界 -- Java 大数据在智能医疗影像诊断中的应用(72)
  • 模拟实战-用CompletableFuture优化远程RPC调用
  • 自学习记录-编程语言的特点(持续记录)
  • 【二分题目】
  • C++——模版
  • 基于PHP的香水销售系统的设计与实现
  • Qt自定义 Qt Designer 插件
  • 使用Python OpenCV实现图像形状检测
  • C语言——指针基础
  • MySQL中什么是脏读、幻读、不可重复读
  • 使用java操作Parquet文件
  • http(请求方法,状态码,Cookie与)
  • C#高级教程
  • Arrays.asList()新增报错,该怎么解决
  • 云原生周刊:K8s 严重漏洞
  • AI智能体与代理IP:携手共创智能网络新时代
  • ts解决vite unplugin-auto-import/vite
  • 【自动化】配置信息抽取
  • C#VB.NET开发整体一键国际化显示
  • 银河麒麟v4/v10 Ubuntu上添加服务过程-以编译postgressql数据库为例
  • 【论文复现】基于BERT的语义分析实现
  • 深度转点云 点云着色
  • springboot+jsp二级页面无法请求
  • NLP 的研究任务
  • c++类和对象(2)