publicstatic listgetallsameelement1(string strarr1,string strarr2)
list
strlist1 = new arraylist(arrays.aslist(strarr1)); //
----------**段1
liststrlist2 = new arraylist(arrays.aslist(strarr2)); //
--------------**段2
strlist1.retainall(strlist2);
return
strlist1;
}
另一種實現,陣列比較大的情況下
由 於最近看見一文章,是描述資料庫mergejoin 的掃瞄方式的,仿照裡面的大致邏輯自己寫了
個類似的方法。如果陣列大的話,這個要比getallsameelement1好
大致思路是:1.首先將兩個陣列a、b排序(遞增)
2.分別從a和b中各取出一元素a,b,對a和b進行比
較:1)
如果a與b相等,則將a或b存入一指定集合中
2)如果a小於b,則繼續取a的下一元素,再與b比較3)
如果a大於b,則取b的下乙個元素,與a進行比較
3.反覆進行步驟2,知道a或b的元素都比較完
4.返回集合(存了相同的元素)
publicstatic listgetallsameelement2(string strarr1,string strarr2)
arrays.sort(strarr1);
arrays.sort(strarr2);
list
list = new arraylist();
int k = 0;
int j = 0;
while(kstrarr2.length)
continue
; }
else
if(strarr1[k].compareto(strarr2[j])<0)
else
} return
list;
}
來自:
查詢兩個字串中相同字元
for 歷遍第乙個字串的字元,過程中用 in 檢測字元是否存在於第二個字串中。若是在則將其新增在列表中。一 函式檔案 def intersect seq1,seq2 定義交集函式,函式名及變數 res 定義空列表用來盛放相同字元 for x in seq1 歷遍字串1 if x in seq2 歷遍...
判斷兩個字串是否相同
data segment mess1 db computer software mess2 db computer software data ends code segment assume ds data,cs code start mov ax,data mov ds,ax mov es,ax...
獲取兩個字串中相同的子串
package day15 author qitm date 2020 5 15 21 51 描述 獲取兩個字串中相同的子串 思路 1.既然取得最大子串,先看短的那個字串是否在長的字串中 如果存在,短的那個字串就是最大字串 2.如果不是,那麼就將短的字串進行長度遞減的方式減去子串,去長串中判斷是否存...