Java找出兩個字串中最大的子串
- // 找一個字串的最大子串
- publicstaticvoid main(String[] args) {
- String s1 = ”qwerabcdtyuiop”;
- String s2 = ”xcabcdvbn”;
- String stringMax = stringMax(s1, s2);
- System.out.println(”最大的相同子字串是:” + stringMax);
- }
- /**
- * 找出兩個字串中最大的相同子字串
- *
- * @param s1
- * @param s2
- * @return
- */
- privatestatic String stringMax(String s1, String s2) {
- // 記錄相同子字串
- String sameString = null;
- // 比較兩個字條串的長度,這裡是設定S1的長度大於S2的長度
- if (s1.length() < s2.length()) {
- // 如果s2的長度大,那麼就將兩個字串進行替換
- String temp = s1;
- s1 = s2;
- s2 = temp;
- }
- // 如果s2就被包含在s1中,那麼這兩個字串最大的子串就是s2
- boolean isContains = s1.contains(s2);
- if (isContains) {
- return s2;
- } else {
- boolean b1 = false;
- // 如果s2不是兩個字串最大的子類,那麼再進行迴圈查詢
- for (int
- for (int j = 0; j <= i; j++) {
- // 獲取每次進行比較的子字條串
- String str = s2.substring(j, s2.length() - i + j);
- System.out.println(”第” + i + “次比較:” + str);
- if (s1.contains(str)) {
- sameString = str;
- b1 = true;
- break;
- }
- }
- // 如果比較到s2中最小的為2的時候還沒有相同的字串,我們就預設沒相同的子字串
- if (s2.substring(0, s2.length() - i).length() == 2) {
- System.out.println(”沒有相同的子字串”);
- b1 = true;
- break;
- }
- if (b1 == true)
- break;
- }
- }
- return sameString;
- }
// 找一個字串的最大子串
public static void main(String[] args) {
String s1 = "qwerabcdtyuiop";
String s2 = "xcabcdvbn";
String stringMax = stringMax(s1, s2);
System.out.println("最大的相同子字串是:" + stringMax);
}
/**
* 找出兩個字串中最大的相同子字串
*
* @param s1
* @param s2
* @return
*/
private static String stringMax(String s1, String s2) {
// 記錄相同子字串
String sameString = null;
// 比較兩個字條串的長度,這裡是設定S1的長度大於S2的長度
if (s1.length() < s2.length()) {
// 如果s2的長度大,那麼就將兩個字串進行替換
String temp = s1;
s1 = s2;
s2 = temp;
}
// 如果s2就被包含在s1中,那麼這兩個字串最大的子串就是s2
boolean isContains = s1.contains(s2);
if (isContains) {
return s2;
} else {
boolean b1 = false;
// 如果s2不是兩個字串最大的子類,那麼再進行迴圈查詢
for (int i = 0; i < s2.length(); i++) {
for (int j = 0; j <= i; j++) {
// 獲取每次進行比較的子字條串
String str = s2.substring(j, s2.length() - i + j);
System.out.println("第" + i + "次比較:" + str);
if (s1.contains(str)) {
sameString = str;
b1 = true;
break;
}
}
// 如果比較到s2中最小的為2的時候還沒有相同的字串,我們就預設沒相同的子字串
if (s2.substring(0, s2.length() - i).length() == 2) {
System.out.println("沒有相同的子字串");
b1 = true;
break;
}
if (b1 == true)
break;
}
}
return sameString;
}
編譯執行:
分析原理圖:
相關推薦
Java找出兩個字串中最大的子串
[java] view plain copy print?// 找一個字串的最大子串 publicstaticvoid main(String[] args) { String s1 = ”qwerabcdtyuiop”; String s2 = ”xc
找出兩個字串中最大的公共子串(java實現)
import java.util.HashSet; import java.util.Set; public class Test { public static void main(String[] args) { String
135、程式設計實現:找出兩個字串中最大公共子字串,如"abccade","dgcadde"的最大子串為 "cad"
35、程式設計實現:找出兩個字串中最大公共子字串,如"abccade","dgcadde"的最大子串為 "cad" /* 35、程式設計實現:找出兩個字串中最大公共子字串,如"abccade","dgcadde"的最大子串為 "cad" 不同於56的最長公共子串 DP題
隨筆-找出兩個字串中不相同的元素
題目: 給定兩個字串 s 和 t,它們只包含小寫字母。 字串 t 由字串 s 隨機重排,然後在隨機位置新增一個字母。 請找出在 t 中被新增的字母。 示例: 輸入: s = “abcd” t = “abcde” 輸出: e 解釋: ‘e’ 是那個被新增的字母。
找出兩個字串中相同的詞語,返回一個分值
前言: 由於筆者工作的需求,給定一個字串,需要從一堆字串中找出與其最相似的字串,網路的一些演算法發現跟自己的需求不匹配,於是自己寫了一個,話不多說,請看下文。 目標: 給定兩個字串,能將兩個字串中相同詞語的相似度返回一個分值。 計分方式: 分值跟次數的個數有關,具體
java找出兩個字串相同的元素
前兩天面試,面試官讓我在5分鐘之內手寫一個程式,就是找出兩個字串相等的元素,當時搞了一個雙重迴圈,面試官說很low。現在寫一個高效一點的,分享一下。 public class TestMain { public static void main(String[]
藍橋杯第五屆 兩個字串中最大子序列
一個串的子串是指該串的一個連續的區域性。如果不要求連續,則可稱為它的子序列。 比如對串: "abcdefg" 而言,"ab","abd","bdef" 等都是它的子序列。 特別地,一個串本身,以及空
用JS找出兩個字串相同的最大子串
例如 輸入:str1 : instritesting str2: string 輸出:stri function Clear(str1,str2){
【Java練習】獲取兩個字串中最長的相同欄位
獲取兩個字串中最長的子串並輸出。 思路解析: 1.首先考慮我們要知道長度最短的字串,這樣子在比較的次數會更少。 2.我們首先從長度最小的字串每次擷取一小段判斷是否在大串中 3.考慮到有可能有多個長度相同的子串,那麼我們就應該將他們同時儲存到集合中 4.要多考慮到各種異常的發生。
Java學習 查詢兩個字串中的最大子串
public static String getMaxSubString(String str1,String str2) { String max = null,min = null; if(str1.length()>str2.length())
orcale 查找出兩個表中相同欄位的不同的值minus
1.user表 SELECT user_id FROM OA_COMPANY_USER 2.專案表中投入過的人員 SELECT DISTINCT a.USER_ID FROM OA_COMPANY_USER a, OA_PM_PERSON_INPUT b WHERE a.
時間殺手—for迴圈—如何找出兩個list中的相同元素
import numpy import datetime a = numpy.random.randint( 5,1000,100000 ) b = numpy.random startt1 = datetime.datetime.now() l11 = sorted(list(set(a)))
兩個字串中最大相同的子串
求得短的字串和長的字串兩個字串中相同的字串段。 public static String getMaxSubString(String s1, String s2) { String
編寫程式,獲取兩個字串中最大相同子串
private void test() { String a = "Valaienie"; String b = "Maierginle"; String max = a.length() > b.length() ? a : b; String min =
js找出兩個陣列中不同的元素
function arr(array,array2){ var arr3 = []; for(鍵入陣列){ var stra = arra
R-找出兩個數列中的相同元素
R-找出兩列數中的相同數 通常在用交叉判斷,比如滿足A條件的點以及同時滿足B條件的點 a <- c(1,3,5,7,9) b <- c(3,6,8,9,10) c <- c(2,3,4,5,7,9) 要找出a,b,c中的相同數字 解決辦法一: inte
找出兩個陣列中相同的元素,不排序直接兩次迴圈取出
import java.util.ArrayList; import java.util.HashMap; import java.util.List; public class Test{ /** * 獲取兩個整型陣列之間的重複元素集合 * @param a
找出N個整數中最大的K個數
《尋找N個元素中的前K個最大者》方法總結是在這裡看到的 /algorithm/20111105/314362.html ,我覺得解法二和解法四用得廣泛一些,程式設計實現了一下。 利用快速排序中的partition操作 經過partition後,pivot左邊的序列sa都大於pivot右邊的序列sb;
給出兩個字串,找到最長公共子串,並返回其長度,java實現
給出兩個字串,找到最長公共子串,並返回其長度。 您在真實的面試中是否遇到過這個題? Yes 樣例 給出A=“ABCD”,B=“CBCE”,返回 2 注意 子串的字元應該連續的出現在原字串中,這
找出兩個數組中都有,並且重復次數最多的元素
var In IT 兩個 code TE total urn des var itemA = [1, 2, 3, 3] var itemB = [3, 3, 2] var crossArr = []; var countArr = []; itemA.forEach((e