力扣编译执行逻辑的大胆假设

在力扣刷题时,将全局变量设为static导致本地IDE正确,力扣执行错误。去除static后问题解决。文章提出大胆假设关于力扣执行逻辑,并通过测试验证,得出可能的解释。
摘要由CSDN通过智能技术生成

力扣编译执行逻辑的大胆假设

起因

在这里插入图片描述

在力扣上面进行刷题,然后将对应的方法复制到本地IDEA中进行编写,由于需要main函数进行调试,因此将对应的全局的成员变量设置为static,这样的话IDEA中进行执行结果正确,发现在力扣执行结果反而不正确了下面是产生的差异图片。
在这里插入图片描述
在这里插入图片描述

解决

去掉对应的static即可通过
在这里插入图片描述

大胆假设

由于static是一个静态内存,同时可以进行复用,这样便猜测了一套有关力扣执行的伪逻辑
在这里插入图片描述

验证

1.先不进行提交,直接进行测试

在这里插入图片描述
结果正确

2. 进行提交

在这里插入图片描述
结果错误

3. 跳过该用例

在这里插入图片描述
res = 5 + 1 + 0 = 6

这里不符合的主要原因在于我自己直接在条件判断直接返回,导致没有对全局变量进行改变,下述代码一致。

结果错误

4. 继续验证

在这里插入图片描述
res = 5 + 1 + 0 + 2 = 8
结果错误

代码验证

    static int res = 0;

    public static int findTargetSumWays(int[] nums, int target
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值