| 1 | Initialize leftMax[0] | 0 | [0] | [] | 0 | 0 | Height: 0 |
| 2 | Calculate leftMax[1] | 1 | [0,1] | [] | 0 | 0 | Height: 0,1 |
| 3 | Calculate leftMax[2] | 2 | [0,1,1] | [] | 0 | 0 | Height: 0,1,0 |
| 4 | Calculate leftMax[3] | 3 | [0,1,1,2] | [] | 0 | 0 | Height: 0,1,0,2 |
| 5 | Calculate leftMax[4] | 4 | [0,1,1,2,2] | [] | 0 | 0 | Height: 0,1,0,2,1 |
| 6 | Calculate leftMax[5] | 5 | [0,1,1,2,2,2] | [] | 0 | 0 | Height: 0,1,0,2,1,0 |
| 7 | Calculate leftMax[6] | 6 | [0,1,1,2,2,2,2] | [] | 0 | 0 | Height: 0,1,0,2,1,0,1 |
| 8 | Calculate leftMax[7] | 7 | [0,1,1,2,2,2,2,3] | [] | 0 | 0 | Height: 0,1,0,2,1,0,1,3 |
| 9 | Calculate leftMax[8] | 8 | [0,1,1,2,2,2,2,3,3] | [] | 0 | 0 | Height: 0,1,0,2,1,0,1,3,2 |
| 10 | Calculate leftMax[9] | 9 | [0,1,1,2,2,2,2,3,3,3] | [] | 0 | 0 | Height: 0,1,0,2,1,0,1,3,2,1 |
| 11 | Calculate leftMax[10] | 10 | [0,1,1,2,2,2,2,3,3,3,3] | [] | 0 | 0 | Height: 0,1,0,2,1,0,1,3,2,1,2 |
| 12 | Calculate leftMax[11] | 11 | [0,1,1,2,2,2,2,3,3,3,3,3] | [] | 0 | 0 | Height: 0,1,0,2,1,0,1,3,2,1,2,1 |
| 13 | Initialize rightMax[last] | 11 | [...] | [1] | 0 | 0 | Height: ... 1 |
| 14 | Calculate rightMax[10] | 10 | [...] | [2,1] | 0 | 0 | Height: ... 2,1 |
| 15 | Calculate rightMax[9] | 9 | [...] | [2,2,1] | 0 | 0 | Height: ... 1,2,1 |
| 16 | Calculate rightMax[8] | 8 | [...] | [2,2,2,1] | 0 | 0 | Height: ... 2,1,2,2 |
| 17 | Calculate rightMax[7] | 7 | [...] | [3,2,2,2,1] | 0 | 0 | Height: ... 3,2,1,2,2 |
| 18 | Calculate rightMax[6] | 6 | [...] | [3,3,2,2,2,1] | 0 | 0 | Height: ... 1,3,2,1,2,2 |
| 19 | Calculate rightMax[5] | 5 | [...] | [3,3,3,2,2,2,1] | 0 | 0 | Height: ... 0,1,3,2,1,2,2 |
| 20 | Calculate rightMax[4] | 4 | [...] | [3,3,3,3,2,2,2,1] | 0 | 0 | Height: ... 1,0,1,3,2,1,2,2 |
| 21 | Calculate rightMax[3] | 3 | [...] | [3,3,3,3,3,2,2,2,1] | 0 | 0 | Height: ... 2,1,0,1,3,2,1,2,2 |
| 22 | Calculate rightMax[2] | 2 | [...] | [3,3,3,3,3,3,2,2,2,1] | 0 | 0 | Height: ... 0,2,1,0,1,3,2,1,2,2 |
| 23 | Calculate rightMax[1] | 1 | [...] | [3,3,3,3,3,3,3,2,2,2,1] | 0 | 0 | Height: ... 1,0,2,1,0,1,3,2,1,2,2 |
| 24 | Calculate rightMax[0] | 0 | [...] | [3,3,3,3,3,3,3,3,2,2,2,1] | 0 | 0 | Height: ... 0,1,0,2,1,0,1,3,2,1,2,1 |
| 25 | Calculate water at index 0 | 0 | [...] | [...] | 0 | 0 | Water: 0 |
| 26 | Calculate water at index 1 | 1 | [...] | [...] | 0 | 0 | Water: 0 |
| 27 | Calculate water at index 2 | 2 | [...] | [...] | 1 | 1 | Water: 1 |
| 28 | Calculate water at index 3 | 3 | [...] | [...] | 0 | 1 | Water: 1 |
| 29 | Calculate water at index 4 | 4 | [...] | [...] | 1 | 2 | Water: 2 |
| 30 | Calculate water at index 5 | 5 | [...] | [...] | 2 | 4 | Water: 4 |
| 31 | Calculate water at index 6 | 6 | [...] | [...] | 1 | 5 | Water: 5 |
| 32 | Calculate water at index 7 | 7 | [...] | [...] | 0 | 5 | Water: 5 |
| 33 | Calculate water at index 8 | 8 | [...] | [...] | 0 | 5 | Water: 5 |
| 34 | Calculate water at index 9 | 9 | [...] | [...] | 1 | 6 | Water: 6 |
| 35 | Calculate water at index 10 | 10 | [...] | [...] | 0 | 6 | Water: 6 |
| 36 | Calculate water at index 11 | 11 | [...] | [...] | 0 | 6 | Water: 6 |
| 37 | Return total trapped water | - | - | - | - | 6 | Final trapped water: 6 units |
| 38 | End | - | - | - | - | - | All bars processed |