各位OIer遇到那種很久都調不出來但是已經非常理解了的代碼都是怎麼辦的?
查看原文 >>分模塊檢查錯誤
和題解比較邏輯
和題解比較中間變數值
大量的對拍
重寫一遍。
去找一個很強的人幫著調(當然大部分人都是不願意的)
1.讀題,別問我為什麼
2.縮小問題代碼的範圍。通過分塊測試,分析錯誤答案等方式,逐漸縮小範圍。
3.標準化代碼,每次只改一處,然後測試。
4.找個和你比較像的標程,把程序逐漸改成他的樣子,每次只改一處,然後測試。
一定要堅持,一定要有豐富的這種完整debug出代碼的經驗,不斷積累總有一刻會質變。
1.弄一個小數據,開啟調試,一邊手算一邊讓程序運行。
要是還不行,就
2.弄一個暴力程序,然後對拍
要是還不行
3.找一個標程,對著它打一遍,有一定幾率會發現自己犯了s.b錯誤。
要是還不行
4.找大佬調試
要是還不行
5.上個廁所。(親測有效)
要是還不行
6.用一套快捷鍵Ctrl+A,Backspace,Ctrl+S然後關掉這個程序。
擱著,如果時間真的很長晚上一般都睡不著,明天重構。
如果是細節出鍋一般在牀上都很快就能想到(豬國殺還沒動,沒有哪道題目有牀上找不出鍋的體驗)
如果是思路不對,牀上或者夢裡可能會靈感乍現,如果沒有,那就找A了的同學「專業比對」或者直接左轉題解區。畢竟能力差太多的題目死活不肯看題解沒意思的,當然最好就不要在這個時期寫到這種題目
強烈同意menci的方法
理解還調不出來,代碼功底不夠啊……
一般分塊檢查嘛,每一部分都達到預期就行了
放在一邊,寫其他題,過了一段時間再來看這段代碼,能夠更容易看出錯誤
分治替換std調錯法
推薦閱讀: