基本上,我需要找到所有匹配的anagrams單詞。我正在做的是使用一個大小爲26的數組來表示單詞中的字母。 例如: abcdefg = {1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0} aaaaaaa = {7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0}在地圖中使用數組作爲鍵C++
這就是我如何創建數組。
//stringtemp is a C++ string representing the word.
//letters is a size 26 int array representing all the letters in the string.
for(int i=0;i<stringtemp.length();i++)
{
letters[stringtemp[i]-65]+=1;
}
這就是我將數組存儲在地圖中的方式。
dictionary[letters].push_back(stringtemp);
所以,我做錯了什麼或在C++中是不可能的。在我發現的所有其他答案中,他們建議使用向量作爲關鍵字,但這不適用於我的情況(我認爲)。
正如下面的答案所反映的,C樣式數組不會像您期望的那樣複製。 –
包括「字典」和「字母」的定義將有所幫助。 – Gabriel