You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python程序输入特定测试用例时持续请求输入无法正常运行问题求助

问题成因排查

你观察到的「持续请求输入」是误判,实际是代码进入无限死循环导致程序无响应,触发原因如下:

  • 你给出的测试用例执行到匹配a的最后一个元素4时,b的遍历指针j已经走到了数组末尾(值为4,等于len(b)),此时内层while j!= len(b)的循环永远不会触发
  • 外层while i!= len(a)的循环条件持续成立,但循环体内没有任何修改i/j变量的逻辑,程序就会卡在空循环里永远不会往下执行。

修复方案

只需要在外层循环内新增j是否越界的判断,匹配失败就跳出外层循环即可:

def main():
    n = int(input().strip())
    a = list(map(int, input().rstrip().split()))
    b = list(map(int, input().rstrip().split()))
    a.sort()
    b.sort()
    total=0
    i=0
    j=0
    while i!=len(a):
        # 新增判断:b已经遍历完,剩下的a元素不可能匹配,直接跳出
        if j == len(b):
            break
        while j!=len(b):
            if a[i] < b[j]:
                i+=1
                break
            if a[i]==b[j]:
                total+=1
                i+=1
                j+=1
                break
            else:
                j+=1
    if total==n:
        print(n)
    else:
        print(total+1)

main()

修改后输入你给出的测试用例会正确输出4。

内容的提问来源于stack exchange,提问作者Ishan Sahu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 23:27:02