String 最大长度删除
问题是如果字符串中有“100”作为子字符串,那么我们可以删除该子字符串。任务是找到可以删除的最长子字符串的长度String 最大长度删除,string,python-3.x,data-structures,String,Python 3.x,Data Structures,问题是如果字符串中有“100”作为子字符串,那么我们可以删除该子字符串。任务是找到可以删除的最长子字符串的长度 s=input('') i=0 if '100' not in s: print('0') else: st='' while i<len(s)-2: if s[i:i+3]=='100': s= s.replace('100','') a=s.find('100')
s=input('')
i=0
if '100' not in s:
print('0')
else:
st=''
while i<len(s)-2:
if s[i:i+3]=='100':
s= s.replace('100','')
a=s.find('100')
if a<=i:
st=st+'100'
i=a
else:
st='100'
i=i+1
else:
i=i+1
print(len(st))
s=输入(“”)
i=0
如果s中没有“100”:
打印('0')
其他:
st=''
而is.replace()
将删除子字符串的所有出现次数,而不仅仅是第一次,并从头开始搜索
这意味着'101001010000'。替换('100','')
替换两个实例:
>>> '101001010000'.replace('100', '')
'101000'
但你认为这是一个替代品
str.replace()
str.replace(旧的,新的[,计数])
返回一个字符串的副本,其中所有出现的子字符串old都替换为new。如果给定了可选参数计数,则仅替换第一次出现的计数
用它来限制替换的数量。但它不适用于01111110011010011100000。答案应该是6,这将打印出来12@AbhinavVajpeyi为什么是6?我看到3个100
子字符串,删除最后一个会得到另一个100
子字符串。如果这是错误的解释,你的问题就不清楚了。@AbhinavVajpeyi:我想我明白你的意思;最后,替换必须限于一个替换环,而该替换环中的替换不是连续的。很好,所以我建议的最终解决方案不适用,但我确实正确地识别了您方法中的问题。最终的解决方案可能涉及到动态规划。这是一个问题,但我不明白。我在一个网站上发现了这个问题,我无法得到正确的答案。那么,你将如何解决这些问题?我仍然感到困惑,这个问题毫无意义。为什么您希望从101001010000
中获得12个?