Mam dwie listy z liczb (liczb całkowitych); obie mają 2 miliony unikalnych elementów.python - 2 listy i znajdowanie maksymalnego produktu z 2 list
Chcę znaleźć Number z listy 1 i B z listy 2, które -
1)a*b should be maximized.
2)a*b has to be smaller than certain limit.
oto co wymyśliłem:
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
wszelkie sugestie? edytuj: moja metoda jest zbyt powolna. Zajmie to więcej niż jeden dzień.
Czy to, co masz pracy? jeśli nie, co jest z tym nie tak? – Aesthete
Jest zbyt wolny. : Lista 1 D ma 2000000 elementów, co oznacza, że z mojego kodu trzeba zrobić 2000000 porównań - szybkość porównania na moim moście bluszczowym wynosi około 1 ~ 2 porównanie (s)/sek. to nie pójdzie dobrze .. – thkang
Powinieneś o tym wspomnieć w swoim pytaniu, ponieważ w tej chwili jest dość niejasne. – Aesthete