Из определения обозначения Big-Oh:
T (N) = O (f (N)), если существуют положительные постоянные c и n 0, такие что
T (N) ≤ cf (N), когда N ≥ n 0.
Что на практике означает, что если два списка относительно малы по размеру, скажем, что менее 100 элементов в каждом из двух циклов for работают нормально. Зациклите первый список и найдите похожий объект во втором.
В моем случае это работает просто отлично, потому что в моих списках не будет более 10 - 20 элементов max.
Однако хорошим решением является сортировка первого O (n log n), сортировка второго также O (n log n) и объединение их, еще один O (n log n), грубо говоря O (3 n log n), говорят два списка имеют одинаковый размер.