Interleaving String
2015-08-04 09:57
323 查看
Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2.
For example,
Given:s1 = "aabcc",s2 = "dbbca",
When s3 = "aadbbcbcac", return true.
When s3 = "aadbbbaccc", return false.
动态规划,类似于求最长公共子序列。
For example,
Given:s1 = "aabcc",s2 = "dbbca",
When s3 = "aadbbcbcac", return true.
When s3 = "aadbbbaccc", return false.
动态规划,类似于求最长公共子序列。
public class Solution { public boolean isInterleave(String s1, String s2, String s3) { if(s1.length()+s2.length()!=s3.length()) return false; boolean[][] arr=new boolean[s1.length()+1][s2.length()+1]; arr[0][0]=true; for(int i=1;i<=s1.length();i++) arr[i][0]=arr[i-1][0]&&s3.charAt(i-1)==s1.charAt(i-1); for(int i=1;i<=s2.length();i++) arr[0][i]=arr[0][i-1]&&s3.charAt(i-1)==s2.charAt(i-1); for(int i=1;i<=s1.length();i++){ for(int j=1;j<=s2.length();j++) arr[i][j]=(arr[i-1][j]&&s1.charAt(i-1)==s3.charAt(i+j-1))|| (arr[i][j-1]&&s2.charAt(j-1)==s3.charAt(i+j-1)); } return arr[s1.length()][s2.length()]; } }
相关文章推荐
- poj 1144 割点
- js之iframe子页面与父页面通信
- Java通过调用FFMPEG获取视频时长
- 初识Axure
- 关于Android的HAL的一些理解
- Android GUI之View测量
- JAVA 生成PDF报表()
- make subversion时出现neon报错 及 svn其他问题汇总(3ge )
- 南邮 OJ 1054 回文回文!
- g++的编译及调试
- HDU 3473 Minimum Sum (划分树)
- uva 10935 卡片游戏【队列】
- MySQL初学者入门教程
- php关于url、文件、目录、ip的相关问题汇总
- python3入门之赋值语句介绍
- WPF ,listbox,平滑滚动的2种方式。
- laravel框架中widget模糊查询
- Unable to convert data to string around character 11.
- EL表达式里面fn的用法
- AStyle代码格式工具在source insight中的使用