Dynamic Programming, Facebook Coding Interview, Google Coding Interview, Coding Interviews, Java.
s.length - len j = i+len-1 dp[i][j] = 2 + dp[i+1][j-1] if s[i] == s[j] max(dp[i+1][j], dp[i][j-1]) otherwise Edit Distance Input String s1 and String s2 Dp state dp[i][j] represents minimum number of operations to convert s1.substring(0,i) to s2.substring(0,j) using replace, insert or delete