1221. 分割平衡字符串

简介: 平衡字符串 中,'L' 和 'R' 字符的数量是相同的。给你一个平衡字符串 s,请你将它分割成尽可能多的子字符串,并满足:每个子字符串都是平衡字符串。返回可以通过分割得到的平衡字符串的 最大数量 。

平衡字符串 中,'L' 和 'R' 字符的数量是相同的。

给你一个平衡字符串 s,请你将它分割成尽可能多的子字符串,并满足:

每个子字符串都是平衡字符串。
返回可以通过分割得到的平衡字符串的 最大数量 。

示例 1:

输入:s = "RLRRLLRLRL"
输出:4
解释:s 可以分割为 "RL"、"RRLL"、"RL"、"RL" ,每个子字符串中都包含相同数量的 'L' 和 'R' 。
示例 2:

输入:s = "RLRRRLLRLL"
输出:2
解释:s 可以分割为 "RL"、"RRRLLRLL",每个子字符串中都包含相同数量的 'L' 和 'R' 。
注意,s 无法分割为 "RL"、"RR"、"RL"、"LR"、"LL" 因为第 2 个和第 5 个子字符串不是平衡字符串。
示例 3:

输入:s = "LLLLRRRR"
输出:1
解释:s 只能保持原样 "LLLLRRRR" 。

提示:

2 <= s.length <= 1000
s[i] = 'L' 或 'R'
s 是一个 平衡 字符串

来源:力扣(LeetCode)

class Solution {
   
public:
    int balancedStringSplit(string s) {
   
        int ret=0,i=0,num=0;
while(s[i]!='\0')
{
   
    if(s[i]=='L')
     num++;
     if(s[i]=='R')
     num--;
     if(num==0)
     ret++;
     i++;
}
return ret;
    }
};

while(s[i]!='\0')
{
if(s[i]=='L')
num++;
if(s[i]=='R')
num--;
if(num==0)
ret++;
i++;
}

相当于字符串匹配问题

当s[i]不为空时,如果第一个字符为L的话,用num++,i++ ,

当一个字符串为R时,num--这样的话,

当num=0时,有几个L,就会有几个R。

然后ret++,记录匹配的个数

目录
相关文章
|
6月前
|
SQL NoSQL Oracle
关系型与非关系型数据库的区别
关系型数据库是依据关系模型来创建的数据库,所谓关系模型就是“一对一”、“一对多”、“对多对”等。常见的关系型数据库有Oracle、MySQL、SQL Server等。非关系型数据库主要基于“非关系型模型”,其中非关系型模型有:列模型、键值对模型、文档类模型。比如redis属于键值对模型。 MongoDB属于文档模型 关系型数据库的优点: ● 易于维护:都是使用表结构,格式一致。 ● 使用方便:SQL语言通用,可用于复杂查询。 ● 复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。 关系型数据库的缺点: ● 读写性能比较差,尤其是海量数据的高效率读写。 ● 固定的表结构,灵活
|
11月前
|
数据可视化 数据处理 Python
如何使用Python实现一个基于均线的交易策略
【10月更文挑战第9天】本文介绍了如何使用Python实现一个基于均线的交易策略。主要步骤包括导入所需库(如`pandas`、`numpy`和`matplotlib`),加载股票或期货的历史数据,计算均线和其他指标,实现交易策略逻辑,以及可视化交易结果。示例代码展示了如何根据均线交叉点进行开仓、止损和止盈操作,并提供了注意事项,如数据来源、交易成本和风险管理。
453 7
|
10月前
|
运维 自然语言处理 安全
毕业设计校园网中通义灵码的使用分享
毕业项目校园网中通义灵码的使用分享
170 2
|
8月前
|
算法 C++
【C++数据结构——查找】二叉排序树(头歌实践教学平台习题)【合集】
【数据结构——查找】二叉排序树(头歌实践教学平台习题)【合集】 目录 任务描述 相关知识 测试说明 我的通关代码: 测试结果: 任务描述 本关任务:实现二叉排序树的基本算法。 相关知识 为了完成本关任务,你需要掌握:二叉树的创建、查找和删除算法。具体如下: (1)由关键字序列(4,9,0,1,8,6,3,5,2,7)创建一棵二叉排序树bt并以括号表示法输出。 (2)判断bt是否为一棵二叉排序树。 (3)采用递归方法查找关键字为6的结点,并输出其查找路径。 (4)分别删除bt中关键
200 11
【C++数据结构——查找】二叉排序树(头歌实践教学平台习题)【合集】
|
8月前
|
弹性计算 运维 监控
OS Copilot-操作系统智能助手测试报告-新人体验
测试体验OS copilo安装、启动,体验copilot的提供的`-t`、`-f`、`|`通道的指令在在精准分析、批量任务处理、文件分析的能力。并记录下来。
266 18
|
Ubuntu Linux 数据库
在Linux中,如何进行软件包升级?
在Linux中,如何进行软件包升级?
|
机器学习/深度学习 传感器 边缘计算
深度学习之边缘计算与云计算结合
边缘计算与云计算结合是现代人工智能和物联网领域的重要技术方向。通过将边缘计算的实时处理能力和云计算的强大计算资源结合起来,可以实现高效、低延迟的智能应用。
243 1
|
C++
深度解析roc曲线、AUC与排序损失
深度解析roc曲线、AUC与排序损失
374 0
保姆级教程--抢先体验 Microsoft 365 Copilot,微软全家桶Chat GPT
前段时间微软发的Microsoft 365 Copilot 可以说非常火爆了,那么该怎么抢鲜体验呢。今天分享的操作,目前大家不用急着来,因为订阅365还是要花钱的,大家可以等到真正能用的时候再开通。
|
传感器 监控 物联网
uwb高精度定位系统的原理与应用
UWB人员定位系统的原理是将接收器和发射聚放置在不同的位置,并向信标发送超宽带无线电波。根据接收器所接收到的信号与信标的位置和时刻,可以计算出接收器与信标之间的距离,并推算出接收器的实时位置。通过计算定位精度,可以精确的定位人员的位置。
369 1
uwb高精度定位系统的原理与应用