1. 程式人生 > >String包裝類應用之 獲取兩字串的最大相同子串

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中的字元序列,因此