Ho due elenchi composti da numeri (numeri interi); entrambi hanno 2 milioni di elementi unici.python - 2 elenchi e ricerca del prodotto massimo da 2 elenchi
Voglio trovare il numero uno dalla lista 1 e B dalla lista 2, che -
1)a*b should be maximized.
2)a*b has to be smaller than certain limit.
ecco cosa mi si avvicinò con:
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
qualche suggerimento? modifica: il mio metodo è troppo lento. Ci vorrebbe più di un giorno.
Fa quello che hai lavoro? se non lo fa, cosa c'è che non va? – Aesthete
È troppo lento. : D lista 1 ha 2000000 elementi, il che significa che dal mio codice si devono fare paragoni da 2000000 - la velocità di confronto sul mio ponte di edera è di circa 1 ~ 2 confronti (s)/sec. questo non andrà bene .. – thkang
Probabilmente dovresti menzionarlo nella tua domanda, perché al momento è piuttosto vago. – Aesthete