目标是找出从s中减去t的最大次数
t=ab,s=aabb。在第一步中,我们检查t是否包含在s中。这里,t包含在中间,即a(ab)b中。因此,我们将移除它,结果将是ab,并将计数值增加1。我们再次检查t是否包含在s中。现在,t等于s,即(ab)。所以,我们把它从s中去掉,然后增加计数。所以,由于t不再包含在s中,我们停止并打印计数值,在本例中为2。你知道吗
当你有s='abbaa't='abba'这样的东西时,问题就出现了。 现在不管你是从最后一步走还是乞求,都很重要,因为你会从最后一步走得更多。你知道吗
def MaxNum(s,t):
if not t in s:
return 0
elif s.count(t) == 1:
front = s.find(t)
sfront = s[:front] + s[front + len(t):]
return 1 + MaxNum(sfront,t)
else:
back = s.rfind(t)
front = s.find(t)
sback = s[:back] + s[back +len(t):]
sfront = s[:front] + s[front + len(t):]
print (sfront,sback)
return max(1 + MaxNum(sfront,t),1 + MaxNum(sback,t))
我该问问你为什么在乎吗?你知道吗
相关问题 更多 >
编程相关推荐