1. 程式人生 > >leetcode python 003

leetcode python 003

random 一個 port bsp imp rand python int wke

## 給定一個字符串,求其最長無重復的子字符串
##給定“abcabcbb”,答案是“abc”,長度為3。
##給定“bbbbb”,答案是“b”,長度為1。
##鑒於“pwwkew”,答案是“wke”,長度為3。
import time
import random
import string
x,l=1000,[]
for i in range(x):
l.append(‘‘.join(random.sample(string.ascii_letters + string.digits,1)))
s=‘‘.join(l)
t=time.time()
q,ll,l=‘‘,[],0
for i in s:
if q.find(i)<0:
q=‘%s%s‘%(q,i)
else:
if len(q)>=l:
ll.append(q)
l=len(q)
q=(‘%s%s‘%(q,i))[q.find(i)+1:]
lll=[]
for i in ll:
if len(i)==l:
lll.append(i)
t=time.time()-t
print(‘%s 元素用時 %s s‘%(x,t))
print(lll,l)



leetcode python 003