我有两个由数字(整数)组成的列表;两者都有 200 万个独特的元素。
我想从列表 1 中找到数字 a,从列表 2 中找到数字 b,即 -
1)a*b should be maximized.
2)a*b has to be smaller than certain limit.
这是我想出的:
maxpq = 0
nums = sorted(nums, reverse=True)
nums2 = sorted(nums2, reverse=True)
for p in nums:
n = p*dropwhile(lambda q: p*q>sqr, nums2).next()
if n>maxpq:
maxpq=n
print maxpq
有什么建议么?编辑:我的方法太慢了。这将需要超过一天的时间。