1987618girl
BAN USERdef longest_substr_two_uniqe_char(onestr):
max_len=beg=end=0
first_pos=-1
second_pos=-1
index=0
while index<len(onestr):
if first_pos==-1:
first_pos=index
elif second_pos==-1:
second_pos=index
elif onestr[index]!=onestr[first_pos] and onestr[index] !=onestr[second_pos]:
break
else:
index+=1
# index-=1
while index<len(onestr):
if index-first_pos+1>max_len:
max_len=index-first_pos+1
beg=first_pos
end=index
first_pos=second_pos
second_pos=index
while index<len(onestr) and (onestr[index]==onestr[second_pos] or onestr[index]==onestr[first_pos]):
index+=1
if index==len(onestr):
if index-first_pos>max_len:
beg=first_pos
end=index
print beg,end
return onestr[beg:end]
bug free is so difficult:
- 1987618girl April 15, 2013def longest_substr_two_uniqe_char(onestr):
max_len=beg=end=0
first_pos=-1
second_pos=-1
index=0
while index<len(onestr):
if first_pos==-1:
first_pos=index
elif second_pos==-1:
second_pos=index
elif onestr[index]!=onestr[first_pos] and onestr[index] !=onestr[second_pos]:
break
else:
index+=1
# index-=1
while index<len(onestr):
if index-first_pos+1>max_len:
max_len=index-first_pos+1
beg=first_pos
end=index
first_pos=second_pos
index=first_pos
while index<len(onestr) and onestr[index]==onestr[first_pos]: #case aabaadddddaa
index+=1
second_pos=index
while index<len(onestr) and (onestr[index]==onestr[second_pos] or onestr[index]==onestr[first_pos]):
index+=1
if index==len(onestr):
if index-first_pos>max_len:
beg=first_pos
end=index
print beg,end
return onestr[beg:end]