String类型的算法题(获取子串在主串中出现的次数)和(获取两个字符串中最大相同子串)-Java代码实现
生活随笔
收集整理的這篇文章主要介紹了
String类型的算法题(获取子串在主串中出现的次数)和(获取两个字符串中最大相同子串)-Java代码实现
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Java獲取子串在主串中出現(xiàn)的次數(shù)
package BaiYSExer2;import org.junit.Test; /*** @author Baiysmart* @create 2020-03-16 0:01*/ public class StringDemo2 {//獲取subStr在minStr中的次數(shù)public int getcount(String mianStr, String subStr) {int mainlength = mianStr.length();int subLength = subStr.length();int count = 0;int index;if (mainlength >= subLength) {while ((index = mianStr.indexOf(subStr)) != -1) {count++;mianStr = mianStr.substring(index + subStr.length());}return count;} else {return 0;}}@Testpublic void test() {String mainStr = "baibaibaibaiabaiasdaad";String subStr = "bai";int getcount = getcount(mainStr, subStr);System.out.println(getcount);} }測(cè)試
獲取兩個(gè)字符串中最大相同子串
package BaiYSExer2;import org.junit.Test;/*** @author Baiysmart* @create 2020-03-18 19:46*/ public class StringDemo3 {/*獲取兩個(gè)字符串中最大相同子串。比如:str1 = "ababaasdafafdsa";str2 = "vnaksvhhdajdkfj";提示:將短的那個(gè)串進(jìn)行長(zhǎng)度依次遞減的子串與較長(zhǎng)的那個(gè)串比較。*/public String getMaxSameString(String str1,String str2){if (str1!=null&&str2!=null){String maxStr = (str1.length()>=str2.length())?str1:str2;String minStr = (str1.length()<str2.length())?str1:str2;int length = minStr.length();for (int i =0;i<length;i++){for (int x =0,y=length-i;y<=length;x++,y++){String subStr = minStr.substring(x,y);if (maxStr.contains(subStr)){return subStr;}}}}return null;}@Testpublic void testGetMaxSameString(){String str1 = "helloafasdfasdfasfasfsadf";String str2 = "afasdfhelloadasjfhdas";String maxSameString = getMaxSameString(str1,str2);System.out.println(maxSameString);} }測(cè)試
總結(jié)
以上是生活随笔為你收集整理的String类型的算法题(获取子串在主串中出现的次数)和(获取两个字符串中最大相同子串)-Java代码实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Arp命令
- 下一篇: 【bzoj1486】【[HNOI2009