两个题型,求最长连续子串和最长子串。
定义dp[m+1][n+1],表示的是字符串m的前i个字符和字符串n的前j个字符最长子串。
状态转移方程:
当charAt(i-1)==charAt(j-1)时候,dp[i][j]=dp[i-1][j-1]+1;
当charAt(i-1)!=charAt(j-1)时候,dp[i][j] = Math.max(dp[i-1][j],dp[i][j-1]);
最后返回dp[m][n];
最长连续子串时候
定义dp[m+1][n+1],表示的是字符串m的前i个字符和字符串n的前j个字符最长连续子串。
状态转移方程:当charAt(i-1)==charAt(j-1)时候,dp[i][j]=dp[i-1][j-1]+1; max=Math.max(max,dp[i][j]);
返回max;
02-02
1072
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)