| 1 | Initialize dp | - | - | - | [1,1,1,1,1,1,1,1] | All dp values set to 1 |
| 2 | i=1, j=0 | 1 | 0 | arr[0]=10 < arr[1]=9? No | [1,1,1,1,1,1,1,1] | No update |
| 3 | i=2, j=0 | 2 | 0 | arr[0]=10 < arr[2]=2? No | [1,1,1,1,1,1,1,1] | No update |
| 4 | i=2, j=1 | 2 | 1 | arr[1]=9 < arr[2]=2? No | [1,1,1,1,1,1,1,1] | No update |
| 5 | i=3, j=0 | 3 | 0 | arr[0]=10 < arr[3]=5? No | [1,1,1,1,1,1,1,1] | No update |
| 6 | i=3, j=1 | 3 | 1 | arr[1]=9 < arr[3]=5? No | [1,1,1,1,1,1,1,1] | No update |
| 7 | i=3, j=2 | 3 | 2 | arr[2]=2 < arr[3]=5? Yes | [1,1,1,2,1,1,1,1] | dp[3] = max(1, dp[2]+1)=2 |
| 8 | i=4, j=0 | 4 | 0 | arr[0]=10 < arr[4]=3? No | [1,1,1,2,1,1,1,1] | No update |
| 9 | i=4, j=1 | 4 | 1 | arr[1]=9 < arr[4]=3? No | [1,1,1,2,1,1,1,1] | No update |
| 10 | i=4, j=2 | 4 | 2 | arr[2]=2 < arr[4]=3? Yes | [1,1,1,2,2,1,1,1] | dp[4] = max(1, dp[2]+1)=2 |
| 11 | i=4, j=3 | 4 | 3 | arr[3]=5 < arr[4]=3? No | [1,1,1,2,2,1,1,1] | No update |
| 12 | i=5, j=0 | 5 | 0 | arr[0]=10 < arr[5]=7? No | [1,1,1,2,2,1,1,1] | No update |
| 13 | i=5, j=1 | 5 | 1 | arr[1]=9 < arr[5]=7? No | [1,1,1,2,2,1,1,1] | No update |
| 14 | i=5, j=2 | 5 | 2 | arr[2]=2 < arr[5]=7? Yes | [1,1,1,2,2,2,1,1] | dp[5] = max(1, dp[2]+1)=2 |
| 15 | i=5, j=3 | 5 | 3 | arr[3]=5 < arr[5]=7? Yes | [1,1,1,2,2,3,1,1] | dp[5] = max(2, dp[3]+1)=3 |
| 16 | i=5, j=4 | 5 | 4 | arr[4]=3 < arr[5]=7? Yes | [1,1,1,2,2,3,1,1] | dp[5] = max(3, dp[4]+1)=3 (no change) |
| 17 | i=6, j=0 | 6 | 0 | arr[0]=10 < arr[6]=101? Yes | [1,1,1,2,2,3,2,1] | dp[6] = max(1, dp[0]+1)=2 |
| 18 | i=6, j=1 | 6 | 1 | arr[1]=9 < arr[6]=101? Yes | [1,1,1,2,2,3,2,1] | dp[6] = max(2, dp[1]+1)=2 (no change) |
| 19 | i=6, j=2 | 6 | 2 | arr[2]=2 < arr[6]=101? Yes | [1,1,1,2,2,3,2,1] | dp[6] = max(2, dp[2]+1)=2 (no change) |
| 20 | i=6, j=3 | 6 | 3 | arr[3]=5 < arr[6]=101? Yes | [1,1,1,2,2,3,3,1] | dp[6] = max(2, dp[3]+1)=3 |
| 21 | i=6, j=4 | 6 | 4 | arr[4]=3 < arr[6]=101? Yes | [1,1,1,2,2,3,3,1] | dp[6] = max(3, dp[4]+1)=3 (no change) |
| 22 | i=6, j=5 | 6 | 5 | arr[5]=7 < arr[6]=101? Yes | [1,1,1,2,2,3,4,1] | dp[6] = max(3, dp[5]+1)=4 |
| 23 | i=7, j=0 | 7 | 0 | arr[0]=10 < arr[7]=18? Yes | [1,1,1,2,2,3,4,2] | dp[7] = max(1, dp[0]+1)=2 |
| 24 | i=7, j=1 | 7 | 1 | arr[1]=9 < arr[7]=18? Yes | [1,1,1,2,2,3,4,2] | dp[7] = max(2, dp[1]+1)=2 (no change) |
| 25 | i=7, j=2 | 7 | 2 | arr[2]=2 < arr[7]=18? Yes | [1,1,1,2,2,3,4,2] | dp[7] = max(2, dp[2]+1)=2 (no change) |
| 26 | i=7, j=3 | 7 | 3 | arr[3]=5 < arr[7]=18? Yes | [1,1,1,2,2,3,4,3] | dp[7] = max(2, dp[3]+1)=3 |
| 27 | i=7, j=4 | 7 | 4 | arr[4]=3 < arr[7]=18? Yes | [1,1,1,2,2,3,4,3] | dp[7] = max(3, dp[4]+1)=3 (no change) |
| 28 | i=7, j=5 | 7 | 5 | arr[5]=7 < arr[7]=18? Yes | [1,1,1,2,2,3,4,4] | dp[7] = max(3, dp[5]+1)=4 |
| 29 | i=7, j=6 | 7 | 6 | arr[6]=101 < arr[7]=18? No | [1,1,1,2,2,3,4,4] | No update |
| 30 | Find max in dp | - | - | - | [1,1,1,2,2,3,4,4] | Max dp value is 4 |
| 31 | End | - | - | - | [1,1,1,2,2,3,4,4] | Longest Increasing Subsequence length = 4 |