看板 Python 關於我們 聯絡資訊
第一題遞迴解法(藍色部份: 取代 print 加快輸出): import sys def perm(L,N,s): if(N == 0): sys.stdout.write(s+"\n") return if(L < N): perm(L + 1,N,s + '(') if(L): perm(L - 1,N - 1,s + ')') for line in sys.stdin: if line == "\n" : break N = int(line) perm(0,N,'') ※ 引述《kaney (蘇老師)》之銘言: : 各位python前輩們好,第一次在python版發文 : 小弟是剛自學python不久的初學者(之前0相關基礎) : 僅有看了coursera一個specialization 'Python for everybody' : 跟run了一遍codecademy的learn python : 一位朋友說可以先試著做做題目,然後推薦了我高中生程式解題系統 : 我從基礎問題做起,目前有遇到幾個困難,希望不會太打擾大家 : 題目1: https://zerojudge.tw/ShowProblem?problemid=a229 : 我的code: https://ideone.com/ehkyc7 : *腦中第一時刻浮現排列組合,上網找了下可用的方法後寫了這個 : 不過在測資不大時可以跑完,測資數值大的時候直接memory error : 有想過從左開始一步步加括號,然後判定是否合理, : 但是不知道要怎麼實現,例如第一畫左之後,第二畫可以加左也能加右要怎麼判斷 : 題目2: https://zerojudge.tw/ShowProblem?problemid=a414 : 我的code: https://ideone.com/Zpt7cy : *這題送答案後會執行超時然後被中斷,也嘗試過先將測資轉成二進位字串後, : 用re從尾開始找連續1的方式,跑起來也是超時,所以想請教有什麼好的修改方式 : 另外就是小弟基礎薄弱,沒有資料結構/演算法的底子, : 請問有沒有推薦的線上資源或是文件書籍?想補點這方面的知識 : 最後感謝不吝花費時間指點的大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.168.240.3 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1572505653.A.90B.html
kaney: 感謝指導,又學了一樣新東西! 10/31 21:41
papple23g: 推 11/02 11:00