Java实现交替字符串
JAVA 实现 字符串 交替
2023-09-14 08:58:12 时间
1 问题描述
输入三个字符串s1、s2和s3,判断第三个字符串s3是否由前两个字符串s1和s2交错而成且不改变s1和s2中各个字符原有的相对顺序。
2 解决方案
此处采用动态规划法,可以较大的提高时间效率。
package com.liuzhen.practice;
public class Main {
public boolean judge(String A, String B, String C) {
if(C.length() != A.length() + B.length())
return false;
int[][] dp = new int[A.length() + 1][B.length() + 1];
dp[0][0] = 1; //代表A和B均为空串时,C也为空串,此时符合交替字符串匹配
for(int i = 0;i <= A.length();i++) {
for(int j = 0;j <= B.length();j++) {
if((i - 1 >= 0 && dp[i-1][j] == 1 && A.charAt(i-1) == C.charAt(i+j-1))||
(j - 1 >= 0 && dp[i][j-1] == 1 && B.charAt(j-1) == C.charAt(i+j-1)) )
dp[i][j] = 1;
}
}
if(dp[A.length()][B.length()] == 0)
return false;
return true;
}
public static void main(String[] args) {
Main test = new Main();
String A = "aabcc";
String B = "dbbca";
String C = "aadbbbccca";
if(test.judge(A, B, C))
System.out.println("符合交替字符串");
else
System.out.println("不符合交替字符串");
}
}
运行结果:
符合交替字符串
相关文章
- java局域网发送文件_Java如何实现局域网文件传输代码案例分享
- Java实现邮件发送
- java怎么调用.asmx_Java调用Webservice(asmx)的例子
- java 实现多态_Java多态的实现原理
- md5 java 实现_MD5加密的Java实现
- java实现将图片读取成base64字符串,将base64字符串存储为图片。
- JAVA对象转map_java处理字符串类型的map
- java程序员必知必会的微服务容错与隔离:降级保护,实现降级方法
- java 舆情分析_基于Java实现网络舆情分析系统研究与实现.doc[通俗易懂]
- Java俄罗斯方块实现代码详解编程语言
- Java使用阻塞队列BlockingQueue实现生产者消费者详解编程语言
- 在java代码中执行js脚本,实现计算出字符串“(1+2)*(1+3)”的结果详解编程语言
- 七大排序的Java实现(插入+希尔+冒泡+快速+选择+堆+归并)详解编程语言
- java中由类名和方法名字符串实现其调用【反射机制】详解编程语言
- java实现图片与base64字符串之间的转换详解编程语言
- 服务器上的文件Java获取Linux服务器文件:简单又高效的操作方法(java获取linux)
- 极速搭建Java连接SqlServer数据库(java连接sqlserver)
- 清除Java实现Redis缓存数据自动过期清除(redisjava过期)
- 机制使用Java对Redis实现过期机制(redisjava过期)
- 数据处理Java实现Redis中过期数据的处理(redisjava过期)
- 策略实现Java应用程序中Redis过期策略(redisjava过期)
- 连接MySQL连接技术之Java实现(java的mysql)
- 如何在Linux系统下有效地启动Java程序,让你的代码在Linux中也能正常运行?(linux下启动java)
- 使用Java连接MySQL实现查询功能(java连接mysql查询)
- 实现高并发:Java利用Redis秒杀成功(java秒杀redis)
- MySQL之Java实现主从复制(java mysql主从)
- Linux平台上C语言接口调用Java语言实现(linux c调java)
- Java实现Linux:跨平台解决方案(java 实现linux)
- Oracle中实现Java程序设计的极限可能性(oracle中的java)
- Java实现Redis队列锁功能(redis队列锁java)
- 并发Redis锁保障Java并发性(redis锁实现java)
- java使用动态代理来实现AOP(日志记录)的实例代码
- 使用java自带des加密算法实现文件加密和字符串加密
- java实现压缩字符串和java字符串过滤
- java实现汉字转unicode与汉字转16进制实例