

题意:
给出一个字符串, 只包含两个字符 L,RL,RL,R,如果为 LLL,向左走一步,如果为 RRR,向右走 ddd 步,问一只青蛙从最左端开始走,走到最右端一次最少跳多远。
因为往左走的话是一步 ,这样考虑前面只有 RRR 会对跳的步数造成影响,我们只需要考虑两个 RRR 之间的最大距离即可。
AC代码:
const int N = 2e5 + 10;
int n, m;
int ans, res, cnt, pos;
char a[N];
int main()
{
int t;
sd(t);
while (t--)
{
ss(a + 1);
int len = strlen(a + 1);
a[len + 1] = 'R';
pos = 0;
ans = 1;
rep(i, 1, len + 1)
{
if (a[i] == 'R')
{
ans = max(ans, i - pos);
pos = i;
}
}
pd(ans);
}
return 0;
}
本文介绍了一种解决特定字符串操作问题的算法,通过分析只包含'L'和'R'的字符串,确定青蛙从左端跳跃到右端所需的最小步数。核心思路在于计算连续'R'字符间的最大距离。
336

被折叠的 条评论
为什么被折叠?



