- 博客(1)
- 收藏
- 关注
原创 String Painter题解(区间DP)
i从右往左,j从左往右,不考虑s2[i]和s2[j]是否相等的情况下,最坏情况是,dp[i][j] = 1+dp[i+1][j],因为i+1会比i先遍历到,但在按正常顺序的解释应该是先从i刷一遍,再从i+1刷一遍覆盖。如果s1[i] = s2[i],那么直接res[i] = res[i-1]。考虑优化情况,如果i、j间有k,使得s2[i] = s2[k],那么就不用先从i单独刷一遍了,所以dp[i][j] = min(dp[i][j],dp[i+1][k]+dp[k+1][j])最后返回res[len]。
2024-08-08 20:51:46
359
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人