String包裝類應用之 獲取兩字串的最大相同子串
exa:
1.獲取兩個字串中最大相同子串。比如:
str1 = “abcwerthelloyuiodef”; str2 = “cvhellobnm”
提示:將短的那個串進行長度依次遞增的子串與較長
的串比較。
public class TestStringContains{
public static void main(String[] args) {
String str1="abcwerthelloyuiodef";
String str2="cvhellobnm";
//方法一的測試呼叫
String s=TestStringContains.maxSubstring(str1, str2);
System.out .println("最大相同字串是:"+s);
//方法二的測試呼叫
TestStringContains.getsames(str1, str2);
}
//方法一
public static String maxSubstring(String str1,String str2){
while(str2.length() != 1){
String str3 = str2;
while(str3.length() != 1){
if (!str1.contains(str3)){
str3 = str3.substring(0, str3.length()-1);
}else{
return str3;
}
}
str2 = str2.substring(1);
}
return null;
}
//方法二
public static void getsames(String str1,String str2){
int count = 0;
String str = "";
for (int i = 0; i < str2.length(); i++) {
for (int j = 1; j < str2.length(); j++) {
if (i < j) {
String temStr = str2.substring(i, j);
int indexOf = str1.indexOf(temStr);
if (indexOf != -1) {
if (temStr.length() > count) {
count = temStr.length();
str = temStr;
}
}
}
}
}
System.out.println("最大相同字串是:" + str + ",它長度為:" + count);
}
}
相關推薦
String包裝類應用之 獲取兩字串的最大相同子串
exa: 1.獲取兩個字串中最大相同子串。比如: str1 = “abcwerthelloyuiodef”; str2 = “cvhellobnm” 提示:將短的那個串進行長度依次遞增的子串與
編寫程式,獲取兩個字串中最大相同子串
private void test() { String a = "Valaienie"; String b = "Maierginle"; String max = a.length() > b.length() ? a : b; String min =
求任意兩個字串的最大相同子串
c語言# include<stdio.h> #include<string.h> int main(){ char a[100],b[100]; printf("s1="); scanf("%s",a); printf("s2="); s
輸出兩字串最大相同部分——C面試題
面試題,是紙上寫的,發現了些錯誤,回來改進了下。寫紙上和寫計算機裡並編譯成功完全是兩個效果。 開始沒太多字串操作,很繁瑣、難點也多,後逐漸改進。 典型問題1: sizeof()侷限於棧陣列 char a[] = "asd213123123"; 形式,並且這種不能用'\0'
兩字串尋找最大相同子串
1.s1.contains(sub) 存在返回true2.把較短字串先與長的contains,存在則輸出;不存在則減一再containspublic class StringTest_3 {public static void main(String[] args) {St
核心API的使用(獲取兩個字符串的最大相同子串)
ins for system bst span sam sub string 三目運算 /** * 獲取兩個字符串的最大相同子串。 例:abegad acegab */public class TheSameString { public static void main(
求一個字串的字首與另一個字串的字尾的最大相同子串
求字串ptr的字首與str的字尾的最大相同子串,若不存在,輸出0。 樣例輸入 mike aniom kiava dvakia dasds fdsgh 樣例輸出 m 1 kia 3 0 分析: 先求字串ptr的next陣列,然後使用KMP演算法求ptr的字首與str字尾的最
java實現字串匹配問題之求兩個字串的最大公共子串
轉載請註明出處:http://blog.csdn.net/xiaojimanman/article/details/38924981 最近在專案工作中有一個關於文字對比的需求,經過這段時間的學習,總結了這篇部落格內容:求兩個字串的最大公共子串。 演算法思想:基於圖計算兩字串
C程式設計——程式設計實現查詢兩個字串的最大公共子串2.0
1、 題目:程式設計實現查詢兩個字串的最大公共子串 示例:“aocdfe"和"pmcdfa"最大公共子串為"cdf” 注:最大公共子串有不止一個時,只輸出第一個最大子串 利用斐波那契數列數的思想 **2、**程式 #include <stdio.h> #include &
C程式設計——程式設計實現查詢兩個字串的最大公共子串1.0
1、 題目:程式設計實現查詢兩個字串的最大公共子串 示例:“aocdfe"和"pmcdfa"最大公共子串為"cdf” 注:最大公共子串有不止一個時,只輸出第一個最大子串 **2、**程式 #include <stdio.h> #include <string.h>
程式設計實現查詢兩個字串的最大公共子串
#include <stdio.h> #include <string.h> //程式設計實現查詢兩個字串的最大公共子串 //示例:"aocdfe"和"pmcdfa"最大公共子串為"cdf" void MyPub(char *str1, char *str2) {
《程式設計師程式碼面試指南》求兩個字串最長公共子串
/** * 題目: * 給定兩個字串 str1 和 str2,返回兩個字串的最長公共子串。 *舉例: * str1 = "1AB2345CD",str2 = "12345EF",返回"2345"。 */ /** * 解答: * 經典動態規劃的方法可以做到時間複
1403 Longest Common Substring :(字尾陣列之兩串中的最大重複子串)
近來重新學習字尾陣列,順便熟悉kuangbin大佬的模板,發現字尾陣列的用法真的多,開始慢慢記錄= = 題目大意: 題意很簡單,直接求兩個串中的共有的最長重複子串。 解題思路: 首先看一個串的最長重複子串,其實就是height陣列的最大值。 但是這個題
java實現兩個字串最大公共子字串
/** * @author weichen CHEN created on 2018/4/20 * @version 2018/4/20 weichen CHEN */ public class Test { public static void main
堆的應用之——求前K最大值和求中值
今天和大家一塊學習下面試中常見的兩個關於堆的面試題,第一:求K個最大值;第二:求中值元素。演算法和資料結構算是筆者的死穴了。 一、求前K個最大的值 首先能想到的是使用Arrays.sort()進行排序後取前K個值即可,效率是O(N*log2^N)。
Java找出兩個字串中最大的子串
[java] view plain copy print?// 找一個字串的最大子串 publicstaticvoid main(String[] args) { String s1 = ”qwerabcdtyuiop”; String s2 = ”xc
JAVA語言之相鄰兩數最大差值
有一個整形陣列A,請設計一個複雜度為O(n)的演算法,算出排序後相鄰兩數的最大差值。 給定一個int陣列A和A的大小n,請返回最大的差值。保證陣列元素多於1個。 測試樣例: [1,2,5,4,
【字串操作】 尋找兩個字串中的 最大公共子串
*題目描述:請編寫一個函式,求2個字串的最長公共子串,n<20,字元長度不超過255. 例如有2個字串為: Name some local bus. local bus is high speed I/O bus close to
求兩個字串最長公共子串(動態規劃)
code如下: //Longest common sequence, dynamic programming method void FindLCS(char *str1, char *str2) { if(str1 == NULL || str2 == NULL)
演算法題-兩個字串的最大公共子串
題目:給定一個query和一個text,均由小寫字母組成。要求在text中找出以同樣順序連續出現在query中最長連續字母序列的長度。例如,query為“acbac”,text為“acaccbabb”,那麼text中的“cba”為最長的連續出現在query中的字元序列,因此