【动态规划】交错重排
来源:互联网 发布:金融网络销售 编辑:程序博客网 时间:2024/05/17 00:52
问题
两个字符串,不改变原顺序,能否组成目标字符串。
eg:
str1:ABC
str2:123
aim:A12BC3、123ABC、1A2B3C、………
解法
动态规划解:
dp[i][j]表示str1[0…i-1]和str2[0…j-1]能否组成aim[0…i+j-1]长度的字符串.
状态转移方程:
dp[0][j] = str2[0…j] == aim[0…j] ? 1:0
dp[i][0] = str1[0…i] == aim[0…i] ? 1:0
dp[i][j] = str1[i] == aim[i+j-1] && ap[i-1][j] == 1 或 str2[j] == aim[i+j-1] && ap[i][j-1] == 1
实现和优化
实现与其他的动态规划解法没有区别,这里就不给出了。
优化方法也是典型的优化方法,可以优化成为一维数组。
0 0
- 【动态规划】交错重排
- 动态规划-交错组成
- 动态规划交错匹配问题
- 交错字符串——动态规划
- 字符串交错组成(动态规划)
- 动态规划解决字符串交错组成问题
- 字符串的交错组成 动态规划
- 递归与动态规划---字符串的交错组成
- 动态规划——字符串的交错组成
- 动态规划(二)——错位重排
- 动态规划——字符串的交错组成(interleaving-string)
- 链表的交错重排L1,Ln,L2,Ln-1 ....
- 动态规划-请编写一个高效算法,判断C串是否由A和B交错组成。
- 动态规划!!!动态规划!!!
- 动态规划
- 动态规划
- 动态规划
- 动态规划
- 芒果iOS开发之史上最全的面试题汇总二
- 用dom4j读取xml到数据库
- QtDesigner:The Calculator Form Example
- 谐振电路的原理和作用
- PCA主成分分析法的原理与应用
- 【动态规划】交错重排
- Android Studio Tips -- 提取方法
- poj Intersection 1410 (数学几何 求线段方程)
- SOM-TL28335核心板规格书
- struts2——整合spring与struts2
- 微信公众号和第三方的平台的对接方法
- java 外观模式 详解 带酒店管理例子
- 希尔排序
- SVProgressHUD