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

Python代码NZEC运行时错误排查:HackerEarth题目求解问题

NZEC错误原因及代码问题分析

NZEC是什么?

NZEC是Non-Zero Exit Code的缩写,说明你的程序因未捕获的异常崩溃,返回了非零退出码,而非正常结束。

你的代码存在的问题

  1. 输入处理导致空字符串异常
    你使用split(' ')分割输入,当输入行包含连续空格、开头/结尾空格时,会生成空字符串元素(比如输入"1 2 "会得到['1','2',''])。后续执行i[-1]时,空字符串没有索引元素,触发IndexError,直接导致程序崩溃,产生NZEC错误。

  2. 冗余的大数拼接操作
    判断拼接后的数能否被10整除,完全不需要将所有最后一位拼接成整数——因为一个数能被10整除的核心条件是最后一位为0,而拼接后的数的最后一位就是原数组最后一个元素的最后一位。你的拼接操作不仅多余,还可能在N极大时造成不必要的性能消耗。

修正后的代码

简化版(最优解)

直接判断原数组最后一个元素的最后一位是否为0:

n = int(input())
nums = input().split()
print("Yes" if nums[-1][-1] == '0' else "No")

修复原逻辑版

如果想保留你原本的思路,只需将split(' ')改为split()(自动处理任意空白,不会生成空字符串):

size = int(input())
integers = input().split()
last_digit = [i[-1] for i in integers]
number = int(''.join(last_digit))
print("Yes" if number % 10 == 0 else "No")

验证特殊情况

  • 数组只有一个元素0:输出Yes,符合要求。
  • 数组为[0, 1]:拼接结果为"01"(即1),输出No,符合要求。
  • 数组为[12, 30]:拼接结果为"20",输出Yes,符合要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 01:42:03