題目
ayla有兩個字串a和b,每個字串長度為l,每個字串均由大寫英文本母組成。
她想知道有多少個不同的a的子串可以在b中找到乙個子串是它的「相同字母異序詞」。
如果兩個字串的長度相同,組成字串的字母和每個字母出現的次數也都相同,則這兩個字串為「相同字母異序詞」。
例如,aabc和abac。
輸入格式
第一行包含整數t,表示共有t組測試資料。
每組資料第一行包含整數l,表示字串的長度。
接下來兩行,每行乙個長度為l的由大寫字母構成的字串,分別表示字串a和字串b。
輸出格式
每組資料輸出乙個結果,每個結果佔一行。
結果表示為「case #x: y」,其中x為組別編號(從1開始),y為滿足條件的子串數。
資料範圍
1≤t≤100
1≤l≤50
輸入樣例:
6
3abb
bab3
bababb
6catyyy
***tac
9sub******
subbususb
4aaaa
aaaa
19inakickstartfactory
輸出樣例:
case #1: 5
case #2: 6
case #3: 6
case #4: 6
case #5: 10
case #6: 9
樣例解釋
在樣例#1中,l = 3,a = abb,b = bab,a有6個子串,如下:
所以答案是5。
字串長度比較小,我們可以暴力去列舉區間左右端點,然後統計這個區間每個字元出現的次數,然後對陣列進行雜湊。
**:
#includeusing namespace std;
typedef unsigned long long ull;
ull p=131;
int main()
}int ans=0;
for(int i=0;i}
printf("case #%d: %d\n",cas,ans);
}return 0;
}
前端練習09 同字母異序
同字母異序指的是兩個字串字母種類和字母的數量相同,但是順序可能不同。完成isanagram,接受兩個字串作為引數,返回true或者false表示這兩個字串是否同字母異序。例如 isanagram anagram nagaram return true.isanagram rat car return...
leetcode 字母異或詞的判斷以及分組
問題1 給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true 示例 2 輸入 s rat t car 輸出 false 說明 你可以假設字串只包含小寫字母。判斷思路 根據排序後的結果是否相同,判斷是否符合要...
LeetCode 49 字母異位詞分組 雜湊
難度 中等 給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 所有輸入均為小寫字母。不考慮答案輸出的順序。包含的字母相同,但是排列可以不同的字串實際...