Description

Use a hash map/set to remember what you've already seen, so checking whether an item exists (or has been seen before) is O(1) instead of scanning the array again.
?
Turns an O(n²) nested-loop scan into a single O(n) pass.

Reach for when

Runtime

O(n)

Pseudocode

seen = {}
for item in array:
	add item to seen

for item in array:
	if/while condition(item, seen):
		update answer
return answer

Code

def map_lookup(arr):
	seen = set()
	for item in arr:
		seen.add(item) 

	for item in arr:
		if condition(item, seen):
			return answer
	return default