力扣编译执行逻辑的大胆假设
起因
在力扣上面进行刷题,然后将对应的方法复制到本地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