信息技术来源:湖州、衢州、丽水2026年4月三地市高三教学质量检测
第 10 题
答案与解析
本题解析
参考答案
C
程序分析
n=0
for c in s:
if n==0:
x=c
if x==c:
n+=1
else:
n-=1循环依次读取s中的字符c。每轮开始时,若n为0,就把当前字符作为新的x;随后仍会执行第二个if,相同则n加1,不同则n减1。因此,x保存当前候选字符,n记录与其他字符抵消后,该候选字符剩余的数量,而不是它在整个字符串中的出现次数。n减至0时,本轮不会立即修改x,要到下一轮开始时才重新选取。
按字符串中的字符顺序更新:
| 当前字符c | 本轮处理 | 本轮结束时x | 本轮结束时n |
|---|---|---|---|
| 甲 | n为0,设x为甲,再加1 | 甲 | 1 |
| 丙 | 与甲不同,减1 | 甲 | 0 |
| 乙 | n为0,设x为乙,再加1 | 乙 | 1 |
| 丙 | 与乙不同,减1 | 乙 | 0 |
| 丙 | n为0,设x为丙,再加1 | 丙 | 1 |
| 丙 | 与丙相同,加1 | 丙 | 2 |
| 丁 | 与丙不同,减1 | 丙 | 1 |
最后处理丁时,n由2减至1,x保持为“丙”。
问题反馈
解析有疑问或显示异常?请先复制题目信息,再打开反馈表单填写。
题目编号:2026_04_G3_huquli_q010
