3 × 4 grid · read as a flat sorted array of length 12
1
3
5
7
10
11
16
20
23
30
34
60
Binary search the flattened grid
▸1lo ← 0; hi ← m·n − 12while lo <= hi:3 mid ← lo + (hi − lo) / 2; v ← grid[mid / n][mid % n]4 if v == target: return true5 else if v < target: lo ← mid + 16 else: hi ← mid − 17return false
state
- target3
- grid3×4
- flat length12
- lo0
- hi11