问题描述:
最近刚开始做Leetcode,结果刚做到第三题,就发现了问题。明明自己编译器结果是对的,为什么官 运行一下就不对了呢p>
结果发现,问题出在 ++j 上面。
这是我遇到的一个情况:
这句话,在我的dev c++中 ,是这样的(举个例子,用词可能不太恰当):
1.首先a=m[s[j] ]
2.j=j+1
3 a=j
这里的 a 实际上就是原来的 m [ s [ j ] ] ,我没有对 m [ s[ j+1] ] 进行修改
而在官 的 c++ 中运行,他执行的步骤是这样的:
1. j=j+1
2. m [ s[ j] ] = j;
这里直接 修改的是 m [ s[ j+1] ]
概括一下:
devc++中 ,将 j+1 赋值给 m [ s [j] ]
而官 中,先j=j+1 ,然后 变成了这样 m [ s[ j+1] ] =j+1 (这里的j 是原来的j 不是 j=j+1 后的 j)
不知道各位有没有明白我的意思。。。。说的可能有点乱(溜
文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览35229 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!