假设字符串s1=AABCD,s2=CDAA,判断s2是否可以通过S1的循环移位得到字符串包含。
如 s1移两位: 1.ABCDA->2.BCDAA 则此时包含了 S2="CDAA"
解题思路:
分解s1的循环移位得到:
AABCD,ABCDA,BCDAA,CDAAB,.....
如果我们将前面移走的字符串保留下来,则有:
AABCD,AABCDA,AABCDAA,AABCDAAB,AABCDAABC,AABCDAABCD
这里,我们可以发现,实际对s1的循环移位得到的字符串实际为s1s1。
那么我们判断s2是否可以通过s1循环移位得到包含,则只需要判断s1s1中是否含有s2即可以。
用提高空间复杂度来换取时间复杂度的减低的目的。
java代码如下:
public class StrigMove{
public static void main (String[] args) {
String s1="AABCD";
String s2="CDAA";
if(s1.concat(s1).indexOf(s2)!=-1){
System.out.println ("true");
}else{
System.out.println ("false");
}
}
}
分享到:
相关推荐
JetbrainsCrack-3.1-release-enc.jarJetbrainsCrack-3.1-release-enc.jarJetbrainsCrack-3.1-release-enc.jarJetbrainsCrack-3.1-release-enc.jarJetbrainsCrack-3.1-release-enc.jarJetbrainsCrack-3.1-release-enc...
带xenomai补丁的linux内核源码。 sudo dpkg -i linux-headers-4.9.38-xenomai-3.1_4.9.38-xenomai-3.1-10.00.Custom_amd64.deb进行安装
windowsdesktop-runtime-3.1.28-win-x64
JetbrainsCrack-3.1-release-enc.jar
Libsvm-FarutoUltimate3.1 based on libsvm-3.1 % faruto and liyang , LIBSVM-farutoUltimateVersion % a toolbox with implements for support vector machines based on libsvm,2011. % Software available at ...
包含翻译后的API文档:commons-net-3.1-javadoc-API文档-中文(简体)-英语-对照版.zip 对应Maven信息:groupId:commons-net,artifactId:commons-net,version:3.1 使用方法:解压翻译后的API文档,用浏览器打开...
HDP-GPL-3.1.4.0-centos7-gpl.tar.gz
asm-3.1.jarasm-3.1.jarasm-3.1.jarasm-3.1.jarasm-3.1.jarasm-3.1.jarasm-3.1.jar
nxlog-ce-3.1.2319-nxlog-ce-3.1.2319 好用的日志收集
2015年12月24日最新版:smarty-3.1.29
包含翻译后的API文档:velocity-tools-generic-3.1-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.apache.velocity.tools:velocity-tools-generic:3.1; 标签:apache、velocity、tools、generic、...
dotnet-sdk-3.1.100-win-x64.exe
bash-3.1-MSYS-1.0.11-snapshot.tar.bz2 ffmpeg 安装用包!
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
commons-httpclient-3.1jar包,有需要的请下载 本资料共包含以下附件: commons-httpclient-3.1jar包.rar
commons-lang3-3.1 字符转换包commons-lang3-3.1 字符转换包
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
- copy %AXIS2_HOME%\lib\backport-util-concurrent-3.1.jar 到%ECLIPSE_HOME%\plugins\Axis2_Codegen_Wizard_1.3.0\lib - 注册此 jar 包: 編輯 %ECLIPSE_HOME%\plugins\Axis2_Codegen_Wizard_1.3.0\plugin.xml , ...
epublib-core-3.1.jar 如果maven仓库下载不到,可以下载jar之后,执行以下命令 mvn install:install-file -Dfile="D:\\Program Files\\mvn\\epublib-core-3.1.jar " -DgroupId=nl.siegmann.epublib -DartifactId=...
java工具类:是关于commons-jexl-3.1jar包的源代码.....