首页 > 试题广场 >

小O的字符串重排

[编程题]小O的字符串重排
  • 热度指数:131 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\,\,\,\,\,\,\,\,\,\,小O有一个字符串 s ,她希望重新排列这个字符串,并改变字符的大小写,使得新的字符串包含尽可能多的字符串 a 或者字符串 b。请问小O最多能包含多少个子串 a子串 b 。
\,\,\,\,\,\,\,\,\,\,如果字符串 t 可以通过从字符串 s 的开头删除若干(可能为零或全部)字符以及从结尾删除若干(可能为零或全部)字符得到,则字符串 t 是字符串 s子串

输入描述:
第一行输入一个字符串 s ,仅包含小写字母。
第二行输入一个字符串 a ,首字母大写,其余小写。
第三行输入一个字符串 b ,首字母大写,其余小写。
除此之外,保证 1 \leq |s|, |a|, |b| \leq 10^5 ,即保证每个字符串至多由 10^5 个字符构成


输出描述:
在一行上输出一个正整数,表示最多能包含多少个子串 a 和子串 b 。
示例1

输入

abcdefg
Abc
Fge

输出

2

说明

将字符串修改成 AbcdFge,包含两个子串 Abc 和 Fge。
头像 有胆量的柯基在学习
发表于 2025-08-23 19:33:17
#include <bits/stdc++.h> using namespace std; array<long long, 26> countNeed(const string& p) { array<long long, 26> need{} 展开全文
头像 丨阿伟丨
发表于 2025-09-11 17:51:58
题目链接 小O的字符串重排 题目描述 给定一个只包含小写字母的源字符串 ,以及两个目标字符串 和 (均首字母大写,其余小写)。你可以对 进行任意重排,并可以改变其中任意字符的大小写。目标是构造一个新字符串 ,使其包含尽可能多的非重叠子串 或 。求 和 出现总次数的最大值。 解题思路 1. 展开全文