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

Python代码LeetCode与本地执行结果不一致问题排查

本地与LeetCode题解结果不一致的原因分析

我在LeetCode上解决了一道题,将题解稍作修改后在本地运行,却出现结果不一致的问题——LeetCode上所有测试用例都能完美通过,但本地运行结果不符合预期。一开始我以为是if语句中的not in在LeetCode和本地环境表现不同,折腾一上午后才发现是自己的笔误。

Python版本:Python 3.11.5
电脑系统:Windows 11

LeetCode解决方案

class Solution:
    def findDifference(self, nums1: List[int], nums2: List[int]) -> List[List[int]]:
        nums1 = set(nums1)
        nums2 = set(nums2)
        tmp1 = []
        tmp2 = []

        for i in nums1:
            if i not in nums2:
                tmp1.append(i)

        for i in nums2:
            if i not in nums1:
                tmp2.append(i)
                
        return [tmp1, tmp2]

输出:[[1,3],[4,6]]

本地解决方案

class Solution:
    def findDifference(self, nums1, nums2):
        nums1 = set(nums1)
        nums2 = set(nums2)
        tmp1 = []
        tmp2 = []

        for i in nums1:
            if i not in nums2:
                tmp1.append(i)

        for i in nums2:
            if i not in nums1:
                tmp2.append(i)

        return [tmp1, tmp2]


nums1 = [1,2,3]
nums2 = [2,4,6]
execute = Solution()
print(execute.findDifference(nums1, nums1))

输出:[[], []]

问题根源

本地代码调用方法时传参错误:execute.findDifference(nums1, nums1),把两个参数都传成了nums1,导致转换为集合后两个集合完全相同,自然找不到任何差异元素,输出[[], []]。只需将调用改为execute.findDifference(nums1, nums2),就能得到和LeetCode一致的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 10:55:08