एक hash map (dictionary) ले O(1) औसत लुकअप, इन्सर्ट र डिलिट दिन्छ। O(n) मेमोरीको सट्टामा गति लिएर धेरै O(n²) एल्गोरिदमहरूलाई O(n) मा रूपान्तरण गर्न सकिन्छ, जसमा दोहोरिएको स्क्यानलाई तात्कालीन लुकअपले प्रतिस्थापन गर्छ।
विचार
रेखा खोज्नुको सट्टा, हेश म्यापमा देखिएका मानहरू भण्डारण गर्नुहोस् र स्थिर समयमा सदस्यता जाँच गर्नुहोस्।
उदाहरण: O(n) मा दुई-योग
():
seen = {}
i, x (nums):
need = target - x
need seen:
(seen[need], i)
seen[x] = i
two_sum([, , , ], )
