我看了你的算法關(guān)鍵字查找代碼,有一個想法,我們可以建立一個非常簡單的哈希表就能滿足要求。由于字符(char)是一個長度為8的數(shù)據(jù)類型,我們可以和你一樣建立一個長度12的數(shù)組,而數(shù)組中存儲的是每組關(guān)鍵字的對應(yīng)的次數(shù)。這樣我們就創(chuàng)建了一個以關(guān)鍵字位碼的哈希表,我們就掃描一次數(shù)組關(guān)鍵字查找代碼,就統(tǒng)計了所以的關(guān)鍵字個數(shù),用C寫的,c++語法全忘記了,這樣
空間復(fù)雜度:O(1)
時間復(fù)雜度:O(n)
還有一些沒寫了,如果可以就采納
char (char* )
{
//輸入不合法
if(!)
0;
//創(chuàng)建一個哈希表,并初始化
const int = 12;
int [];
for(int i = 0; i < ; i++)
[i] = 0;
//確定字符串中每個字符出現(xiàn)的次數(shù)
char* = ;
while(*() != '\0')
[*(+8)]++;
//如果這個字符串為空,或者字符串中的每個字符都至少出現(xiàn)兩次
0;
}