| 1 | Initialize DP table with zeros | - | - | - | [All zeros] |
| 2 | Compare s1[1]='A' and s2[1]='B' | (1,1) | 'A' vs 'B' | 0 | [[0,0,0,0,0,0,0],[0,0,...]] |
| 3 | Compare s1[1]='A' and s2[2]='D' | (1,2) | 'A' vs 'D' | 0 | [[0,0,0,0,0,0,0],[0,0,0,...]] |
| 4 | Compare s1[1]='A' and s2[3]='C' | (1,3) | 'A' vs 'C' | 0 | [[0,0,0,0,0,0,0],[0,0,0,0,...]] |
| 5 | Compare s1[1]='A' and s2[4]='A' | (1,4) | 'A' vs 'A' | 1 | [[0,0,0,0,0,0,0],[0,0,0,0,1,...]] |
| 6 | Compare s1[1]='A' and s2[5]='B' | (1,5) | 'A' vs 'B' | 1 | [[0,0,0,0,0,0,0],[0,0,0,0,1,1,...]] |
| 7 | Compare s1[1]='A' and s2[6]='A' | (1,6) | 'A' vs 'A' | 1 | [[0,0,0,0,0,0,0],[0,0,0,0,1,1,1]] |
| 8 | Compare s1[2]='B' and s2[1]='B' | (2,1) | 'B' vs 'B' | 1 | [[0,0,0,0,0,0,0],[0,0,0,0,1,1,1],[0,1,...]] |
| 9 | Compare s1[2]='B' and s2[2]='D' | (2,2) | 'B' vs 'D' | 1 | [...,[0,1,1,...]] |
| 10 | Compare s1[2]='B' and s2[3]='C' | (2,3) | 'B' vs 'C' | 1 | [...,[0,1,1,1,...]] |
| 11 | Compare s1[2]='B' and s2[4]='A' | (2,4) | 'B' vs 'A' | 1 | [...,[0,1,1,1,1,...]] |
| 12 | Compare s1[2]='B' and s2[5]='B' | (2,5) | 'B' vs 'B' | 2 | [...,[0,1,1,1,1,2,...]] |
| 13 | Compare s1[2]='B' and s2[6]='A' | (2,6) | 'B' vs 'A' | 2 | [...,[0,1,1,1,1,2,2]] |
| 14 | Continue filling DP table similarly for all i,j | - | - | - | [DP table gradually fills] |
| 15 | DP table fully filled | (7,6) | - | 4 | [Final DP table with LCS length 4] |
| 16 | Backtrack to find LCS sequence | - | - | - | LCS = 'BCAB' |
| 17 | Output LCS length and sequence | - | - | - | Length=4, Sequence='BCAB' |
| 18 | End | - | - | - | Done |