两个长度为n和m的字符串,将这两个字符串拼接成一个字符串。L为字符串所有字母,末位字母与首字母之差的和。求L的最小值。
设d[i][j]为第一个字符串移走i个元素,第二个字符串移走j个元素后还需要的费用。res[i][j]为第一个字符串移走i个元素,第二个字符串移走j个元素时尚未结束的字母个数。可得状态转移方程dp[i][j]=min(dp[i+1][j],dp[i][j+1])+res[i][j]。
需要特别注意,last需要初始化为-1,而不是初始化为0。last初始化为0会影响字母开始与结束的判断,导致结果错误。
新闻热点
疑难解答