使用SQL求兩個字串相同的子串

2021-04-28 00:49:21 字數 514 閱讀 9001

求兩個字串之間相同的子串,例如'abcefg'和'dxefefg',那麼相同的子串有'e' 'ef' 'efg' 'f' 'fg' 'g'等字串。

使用如下sql來實現:

主要是取全排列的方法,我使用了

例如str2是'abc',首先根據長度構造出結果集a,a有三行,值分別是1,2,3,然後a和b做笛卡爾乘積並且去掉a>b的情況,

出現以下結果

1        1        a

1        2        ab

1        3        abc

2        2        b

2        3        bc

3        3        c

實際上就是利用a和b的值做substr,得到abc的全排列(我們所需要的全排列,類似cb這樣的不需要,因為abc中不包含這樣的字串)。得到這個組合後之後就比較簡單了。使用instr即可比較字串。

給定兩個字串,求相同char

string notsame const string a,const string b return result 1.找相同 時間最快的為hash,空間時間tradeoff的可以用vector 突然意識到 set只能適用於string a中沒有重複字元的情況。因此還得用map實現 set ins...

兩個字串中最大相同的子串

3,兩個字串中最大相同的子串。qwerabcdtyuiop xcabcdvbn 思路 1,既然取得是最大子串,先看短的那個字串是否在長的那個字串中。如果存在,短的那個字串就是最大子串。2,如果不是呢,那麼就將短的那個子串進行長度遞減的方式去子串,去長串中判斷是否存在。如果存在就已找到,就不用在找了。...

獲取兩個字串中相同的子串

package day15 author qitm date 2020 5 15 21 51 描述 獲取兩個字串中相同的子串 思路 1.既然取得最大子串,先看短的那個字串是否在長的字串中 如果存在,短的那個字串就是最大字串 2.如果不是,那麼就將短的字串進行長度遞減的方式減去子串,去長串中判斷是否存...