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

【牛客刷题】小红的red字符串

文章目录

  • 一、题目介绍
    • 1.1 题目描述
    • 1.2 输入描述
    • 1.3 输出描述
    • 1.4 示例
  • 二、解题思路
    • 2.1 核心算法设计
    • 2.2 性能优化关键
    • 2.3 算法流程图
  • 三、解法实现
    • 3.1 解法一:基础实现(字符串状态)
      • 3.1.1 初级版本分析
    • 3.2 解法二:优化版本(长整数编码)
      • 3.2.1 优化版本分析
      • 3.2.2 关键设计解析
        • 1. 状态编码设计
        • 2. 核心算法逻辑
        • 3. 性能优化点
      • 3.2.3 复杂度分析

一、题目介绍

1.1 题目描述

小红拿到了一个只包含’r’、‘e’、'd’三种字母的字符串。

她想知道,有多少子串满足’r’、‘e’、'd’三种字母的数量严格相等?

1.2 输入描述

一个仅包含r、‘e’、'd’三种字符的字符串。长度不超过200000。

1.3 输出描述

三种字母的数量相等的子串个数。

1.4 示例

  • 输入

redrde

  • 输出

4

  • 说明

共有一下四个合法子串:
[red]rde
r[edr]de
red[rde]
[redrde]

二、解题思路

2.1 核心算法设计

前缀和+状态压缩

  1. 定义三个变量countRcount
http://www.dtcms.com/a/270397.html

相关文章:

  • MyBatis-Plus:提升数据库操作效率的利器
  • AB实验的长期影响
  • 【数据结构】复杂度分析
  • SpringBoot框架完整学习指南
  • [创业之路-489]:企业经营层 - 营销 - 如何将缺点转化为特点、再将特点转化为卖点
  • 钉钉企业应用开发技巧:在单聊会话中实现互动卡片功能
  • 学习日记-spring-day43-7.8
  • 基于物联网架构的温室环境温湿度传感器节点设计
  • 扣子Coze纯前端部署多Agents
  • WouoUI-Page移植
  • Java-Collections、Map
  • H3初识——入门介绍之常用中间件
  • 11款常用C++在线编译与运行平台推荐与对比
  • ffmpeg 中config 文件一些理解
  • Flutter基础(前端教程②-卡片列表)
  • study_WebView介绍
  • MYSQL进阶知识
  • 在keil中使用stlink下载程序报错Invalid ROM Table
  • Day07_C语言IO进程线程(重难点)
  • TensorFlow 和PyTorch的全方位对比和选择建议
  • Latex几种常用的花体
  • [2-02-02].第04节:环境搭建 - Linux搭建ES集群环境
  • [RPA] 影刀RPA基本知识
  • Kafka多组消费:同一Topic,不同Group ID
  • NV298NV312美光固态闪存NW639NW640
  • 基于mysqlfrm工具解析mysql数据结构文件frm表结构和数据库版本信息
  • 【Nginx】Nginx代理WebSocket
  • 扣子Coze远程连接数据库插件
  • C语言基础(1)
  • 【C++】AVL树底层思想 and 大厂面试