Leetcode c++運行結果與自己軟件不同,已解決

問題描述:

最近剛開始做Leetcode,結果剛做到第三題,就發現了問題。明明自己編譯器結果是對的,爲什麼官網運行一下就不對了呢?

結果發現,問題出在 ++j 上面。

 

這是我遇到的一個情況:

m[s[j]]=++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)

 

 

不知道各位有沒有明白我的意思。。。。說的可能有點亂(溜

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章