| 1 | Sort array | - | - | - | - | [] | - | [-4, -1, -1, 0, 1, 2] |
| 2 | Fix i at 0 | 0 | 1 | 5 | - | [] | Set left=1, right=5 | [-4, -1, -1, 0, 1, 2] |
| 3 | Calculate sum | 0 | 1 | 5 | -4 + (-1) + 2 = -3 | [] | sum < 0, move left right | [-4, -1, -1, 0, 1, 2] |
| 4 | Move left | 0 | 2 | 5 | - | [] | left=2 | [-4, -1, -1, 0, 1, 2] |
| 5 | Calculate sum | 0 | 2 | 5 | -4 + (-1) + 2 = -3 | [] | sum < 0, move left right | [-4, -1, -1, 0, 1, 2] |
| 6 | Move left | 0 | 3 | 5 | - | [] | left=3 | [-4, -1, -1, 0, 1, 2] |
| 7 | Calculate sum | 0 | 3 | 5 | -4 + 0 + 2 = -2 | [] | sum < 0, move left right | [-4, -1, -1, 0, 1, 2] |
| 8 | Move left | 0 | 4 | 5 | - | [] | left=4 | [-4, -1, -1, 0, 1, 2] |
| 9 | Calculate sum | 0 | 4 | 5 | -4 + 1 + 2 = -1 | [] | sum < 0, move left right | [-4, -1, -1, 0, 1, 2] |
| 10 | Move left | 0 | 5 | 5 | - | [] | left=5 | [-4, -1, -1, 0, 1, 2] |
| 11 | left >= right | 0 | 5 | 5 | - | [] | End inner loop | [-4, -1, -1, 0, 1, 2] |
| 12 | Move i to 1 | 1 | 2 | 5 | - | [] | Skip duplicates for i | [-4, -1, -1, 0, 1, 2] |
| 13 | Calculate sum | 1 | 2 | 5 | -1 + (-1) + 2 = 0 | [[-1, -1, 2]] | sum == 0, add triplet, move left and right skipping duplicates | [-4, -1, -1, 0, 1, 2] |
| 14 | Move left | 1 | 3 | 4 | - | [[-1, -1, 2]] | left=3 | [-4, -1, -1, 0, 1, 2] |
| 15 | Move right | 1 | 3 | 4 | - | [[-1, -1, 2]] | right=4 | [-4, -1, -1, 0, 1, 2] |
| 16 | Calculate sum | 1 | 3 | 4 | -1 + 0 + 1 = 0 | [[-1, -1, 2], [-1, 0, 1]] | sum == 0, add triplet, move left and right skipping duplicates | [-4, -1, -1, 0, 1, 2] |
| 17 | Move left | 1 | 4 | 3 | - | [[-1, -1, 2], [-1, 0, 1]] | left=4 | [-4, -1, -1, 0, 1, 2] |
| 18 | left >= right | 1 | 4 | 3 | - | [[-1, -1, 2], [-1, 0, 1]] | End inner loop | [-4, -1, -1, 0, 1, 2] |
| 19 | Move i to 2 | 2 | - | - | - | [[-1, -1, 2], [-1, 0, 1]] | Skip duplicate i=2 because nums[2] == nums[1] | [-4, -1, -1, 0, 1, 2] |
| 20 | Move i to 3 | 3 | 4 | 5 | - | [[-1, -1, 2], [-1, 0, 1]] | Set left=4, right=5 | [-4, -1, -1, 0, 1, 2] |
| 21 | Calculate sum | 3 | 4 | 5 | 0 + 1 + 2 = 3 | [[-1, -1, 2], [-1, 0, 1]] | sum > 0, move right left | [-4, -1, -1, 0, 1, 2] |
| 22 | Move right | 3 | 4 | 4 | - | [[-1, -1, 2], [-1, 0, 1]] | right=4 | [-4, -1, -1, 0, 1, 2] |
| 23 | left >= right | 3 | 4 | 4 | - | [[-1, -1, 2], [-1, 0, 1]] | End inner loop | [-4, -1, -1, 0, 1, 2] |
| 24 | Move i to 4 | 4 | - | - | - | [[-1, -1, 2], [-1, 0, 1]] | i reaches len(nums)-2, end loop | [-4, -1, -1, 0, 1, 2] |