[問題] Leetcode 448 Runtime error (已解決)

作者: sirusi (印)   2017-04-20 22:42:03
在電腦上跑結果可以 但在Leetcode上跑時會顯示Runtime error 錯誤訊息如下:
munmap_chunk(): invalid pointer: 0x000000000187d480 ***
Leetcode 448網頁:
https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/
我的程式碼:
https://pastebin.com/yrw51vV3
輸出頁面:
http://imgur.com/a/6DQA3
我嘗試用in-place的寫法,把出現過的數字在原本的陣列中index清成0
最後再檢查非0的index就是沒出現過的數字
我寫完函式後放在main裡面跑跑看 input都可以跑出與預期output相同
但放到Leetcode上就會顯示invalid pointer
請問是函式中是哪邊出了問題呢
謝謝
作者: b0920075 (Void)   2017-04-20 23:06:00
會是因為arr只給兩個int空間,但是function最後迴圈的部分給超過嗎?我不太確定,不過看訊息好像是改到memory chunk喔喔看錯錯誤訊息了QQ不過還是覺得跟你malloc的那塊空間有關,做等其他大神
作者: sirusi (印)   2017-04-20 23:24:00
謝謝b大,因為題目在C的註解 有要求malloc我就照做了0.0
作者: kokal (細菌)   2017-04-20 23:50:00
印象中,returnsize是傳你return的array的size,而非指定的
作者: alans (只要有心人人都是食神)   2017-04-20 23:58:00
先算出*returnSize => malloc => assign valuehttps://pastebin.com/Brzu5qqK
作者: sirusi (印)   2017-04-21 12:28:00
原來如此! 謝謝k大跟a大

Links booklink

Contact Us: admin [ a t ] ucptt.com