LeetCode中Python代码输出与返回结果不匹配,求助平台运行规则
关于LeetCode「移除有序数组重复项」题目的返回机制说明
平台运行核心逻辑
LeetCode 对于这类要求原地修改数组的题目,不会读取你自行创建的新数组(比如你代码里的results)。平台最终校验答案时,只会检查输入的原数组的状态,并以你返回的整数k为长度,取原数组的前k个元素作为你的提交答案。
你的问题根源
你通过新数组results存储去重后的结果,本地和LeetCode里print输出正确是因为你打印的是自己的新数组,但平台根本不会读取这个数组,只会看原输入数组的内容,所以才会出现「输出正确但平台显示答案不匹配」的情况。
正确的返回要求
- 必须在原输入数组上直接修改(比如用双指针法覆盖重复元素),不能创建新数组存储结果。
- 最终只需要返回去重后的数组长度
k(也就是你说的len(results)),平台会自动基于这个长度去原数组取对应元素校验。
常见错误点解释
- 直接返回
results:该题的函数定义要求返回整数类型(数组长度),返回数组必然触发编译错误。 - 返回
k和results:函数仅支持返回单个整数,返回多个值不符合定义,自然会失败。
内容的提问来源于stack exchange,提问作者François Constant
相关产品推荐
相关产品推荐

