એક hash map (dictionary) O(1) સરેરાશ લુકઅપ્સ, ઇનસર્ટ્સ અને ડિલીટ્સ આપે છે. O(n) મેમરીને સ્પીડ માટે ટ્રેડ કરવાથી ઘણા O(n²) અલ્ગોરિધમ્સને O(n) માં રૂપાંતરિત કરે છે, પુનરાવર્તિત સ્કેન્સને ત્વરિત લુકઅપ્સ સાથે બદલીને.
આઇડિયા
પ્રત્યેક વખતે લિસ્ટ શોધવાને બદલે, જોયેલી વેલ્યુ્સને hash map માં સ્ટોર કરો અને સ્થિર સમયમાં મેમ્બરશિપ તપાસો.
ઉદાહરણ: O(n) માં two-sum
():
seen = {}
i, x (nums):
need = target - x
need seen:
(seen[need], i)
seen[x] = i
two_sum([, , , ], )
