Re: [问题] 新手解题请教

楼主: cutekid (可爱小孩子)   2019-10-31 15:07:31
第一题递回解法(蓝色部份: 取代 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的方式,跑起来也是超时,所以想请教有什么好的修改方式
: 另外就是小弟基础薄弱,没有资料结构/算法的底子,
: 请问有没有推荐的线上资源或是文件书籍?想补点这方面的知识
: 最后感谢不吝花费时间指点的大家
作者: kaney (转换跑道)   2019-10-31 21:41:00
感谢指导,又学了一样新东西!
作者: papple23g (逆道者)   2019-11-02 11:00:00

Links booklink

Contact Us: admin [ a t ] ucptt.com