2026年PAT顶级程序设计能力考试试题详解及答案.docxVIP

  • 1
  • 0
  • 约7千字
  • 约 19页
  • 2026-06-04 发布于福建
  • 举报

2026年PAT顶级程序设计能力考试试题详解及答案.docx

第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)

1亿VIP精品文档

相关文档