深耕专业教研,探索前沿技术
信息技术来源:湖州、衢州、丽水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保持为“丙”。