稍微脱离树的添加python
我正在为解决一个问题,这段代码用于15层树中的最大路径和。现在我遇到了一个100级的问题,我的代码似乎返回了一个9级的答案。我没有把树放在这里,因为问题似乎严格地存在于代码中。有人能帮忙吗稍微脱离树的添加python,python,Python,我正在为解决一个问题,这段代码用于15层树中的最大路径和。现在我遇到了一个100级的问题,我的代码似乎返回了一个9级的答案。我没有把树放在这里,因为问题似乎严格地存在于代码中。有人能帮忙吗 def compressLines(n): start = time.time() t = n while t != 0: p = (r[t-1].split()) s = (r[t].split()) g = [] fo
def compressLines(n):
start = time.time()
t = n
while t != 0:
p = (r[t-1].split())
s = (r[t].split())
g = []
for i in range(0,len(p)):
f = int(p[i]) + int(s[i])
u = int(p[i]) + int(s[i+1])
if f > u:
p[i] = f
if f < u:
p[i] = u
del r[-2:]
string = ""
for i in p:
string+=(" "+str(i))
r.append(string)
t = t-1
print r, "solved in", time.time() - start, "seconds"
def压缩机管路(n):
开始=时间。时间()
t=n
而t!=0:
p=(r[t-1].split())
s=(r[t].split())
g=[]
对于范围(0,len(p))中的i:
f=int(p[i])+int(s[i])
u=int(p[i])+int(s[i+1])
如果f>u:
p[i]=f
如果f
这给了我一个答案(['7264']在0.0369999408722秒内解决),正确答案是7273
为了使代码更容易阅读,每次代码运行时,我都将“p”定义为倒数第二行,“s”定义为最后一行。代码本质上所做的是将最后一行压缩到它上面的那一行,在每种情况下产生最大的总和,一旦到达最终答案就停止。有人能发现这个问题吗?< /P> < P>你不考虑两个路径具有相同权重的情况:
if f > u:
p[i] = f
if f < u:
p[i] = u
如果f>u:
p[i]=f
如果f
当
f==u
你不更新p[i]
我认为这个问题不清楚。你能提供一个链接到Euler项目的问题吗?我还建议把树放在这里。当然,不是全部的一百个关卡,但至少有一个代表性的样本说明你是如何存储它的最好是@Two Bitalchest使用一些pastebin服务。此外,正如你所知,你几乎不需要来存储范围内的i(len(x))
。好的,我得到了答案,但我肯定会记住将来我应该问的所有问题。非常感谢。