- 1
- 0
- 约7千字
- 约 19页
- 2026-06-04 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年PAT顶级程序设计能力考试试题详解及答案
一、编程题(共3题,每题25分)
1.(25分)字符串处理与模式匹配
题目描述:
给定一个字符串`s`和一个模式字符串`p`,其中`p`仅包含字符`A`和`B`,且`p`中`A`的数量大于等于`B`的数量。要求在`s`中找到所有子串,这些子串与`p`模式匹配,且子串中`A`的数量也必须大于等于`B`的数量。输出匹配子串的起始和结束位置(1-based索引),按起始位置升序排列。
示例:
-输入:`s=ABABABABAB`,`p=AAAB`
-输出:`[1,5],[3,7],[5,9]`
提示:
-可以使用滑动窗口或KMP算法的变种进行匹配。
-注意`p`中`A`的数量必须大于等于`B`的数量。
答案与解析:
python
deffind_pattern(s,p):
n,m=len(s),len(p)
count_p={A:p.count(A),B:p.count(B)}
count_s={A:0,B:0}
result=[]
left=0
forrightinrange(n):
count_s[s[right]]+=1
whilecount_s[A]count_p[A]orcount_s[B]cou
原创力文档

文档评论(0)