蚂蚁不在线

leetcode python 001

给定一个数组,和一个数字target,要求返回和为target的两个数组成员的下标。

import numpy as np
import time

#### 构造题目 , x数组大小
x=100000
l1=np.random.rand(x)
l2=[round(l*x,5) for l in l1]
w1=np.random.randint(0,x)
w2=np.random.randint(0,x)
while w1==w2:
    w2=np.random.randint(0,x)
print('答案%s,%s'%(w1,w2))
target=l2[w1]+l2[w2]
print('target %s'%target)

####  开始计算
t=time.time()
d={}
for i in range(x):    
    if l2[i] in d.keys():
        print(d[l2[i]],i)
        print(l2[d[l2[i]]],l2[i])
        break
    d[target-l2[i]]=i
t=time.time()-t
print('%s 元素用时 %s s'%(x,t))

----蚂蚁不在线

posted on 2018-07-14 12:34  蚂蚁不在线  阅读(78)  评论(0编辑  收藏  举报

导航