作者sirusi ()
看板C_and_CPP
標題[問題] Leetcode 448 Runtime error
時間Thu Apr 20 22:42:03 2017
在電腦上跑結果可以 但在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
請問是函式中是哪邊出了問題呢
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.167.4.142
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1492699328.A.4D4.html
※ 編輯: sirusi (118.167.4.142), 04/20/2017 22:43:51
1F:推 b0920075: 會是因為arr只給兩個int空間,但是function最後迴圈的部 04/20 23:06
2F:→ b0920075: 分給超過嗎?我不太確定,不過看訊息好像是改到memory c 04/20 23:06
3F:→ b0920075: hunk 04/20 23:06
4F:推 b0920075: 喔喔看錯錯誤訊息了QQ 04/20 23:11
5F:→ b0920075: 不過還是覺得跟你malloc的那塊空間有關,做等其他大神 04/20 23:12
6F:→ sirusi: 謝謝b大,因為題目在C的註解 有要求malloc我就照做了0.0 04/20 23:24
7F:推 kokal: 印象中,returnsize是傳你return的array的size,而非指定的 04/20 23:50
8F:推 alans: 先算出*returnSize => malloc => assign value 04/20 23:58
10F:→ sirusi: 原來如此! 謝謝k大跟a大 04/21 12:28