Tôi có hai danh sách được làm bằng số (số nguyên); cả hai đều có 2 triệu yếu tố độc đáo.python - 2 danh sách và tìm sản phẩm tối đa từ 2 danh sách
Tôi muốn tìm số một trong danh sách 1 và b từ danh sách 2, đó -
1)a*b should be maximized.
2)a*b has to be smaller than certain limit.
đây là những gì tôi đã đưa ra:
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
bất cứ đề nghị? chỉnh sửa: phương pháp của tôi quá chậm. Sẽ mất hơn một ngày.
Liệu những gì bạn phải làm việc? nếu không, có gì sai? – Aesthete
Quá chậm. : D danh sách 1 có 2000000 yếu tố, có nghĩa là từ 2000000 so sánh mã của tôi đã được thực hiện - tốc độ so sánh trên cây ivy của tôi là khoảng 1 ~ 2 so sánh (s)/giây. điều này sẽ không tốt .. – thkang
Bạn có lẽ nên đề cập rằng trong câu hỏi của bạn, bởi vì nó khá mơ hồ vào lúc này. – Aesthete