Имеется map<string, int>
и vector<string>
Надо пройтись по всем строкам вектора и проверить значения value
в map
.
void KMPSearch(vector<string> v, string txt)
{
string pat;
map<string, int> mp;
int maxi = -1;
for(int r = 0; r < v.size(); r++)
{
pat = v[r];
int m = pat.length();
int n = txt.length();
int lps[m];
int cnt = 0;
computeLPSArray(pat, m, lps);
int i = 0;
int j = 0;
while(i < n)
{
if(pat[j] == txt[i])
{
j++; i++;
}
if(j == m)
{
cnt++;
mp[pat]++;
}
else if(i < n && pat[j] != txt[i])
{
if(j != 0)
j = lps[j - 1];
else
i = i + 1;
}
if(cnt > maxi) maxi = cnt;
}
map<string, int> :: iterator it;
cout << maxi << endl;
for(it = v.begin(); it != v.end(); it++)
{
string str = v[it];
if(mp[str] == maxi) cout << str << endl;
}
}
}
Вот так пробовал, не получилось
С++ 11:
vector<string> v = {"cc", "bb"};
for (auto x : v) {
if (mp[x] == 3)
cout << x << endl;
}
С итератором полностью:
for (std::vector<string>::iterator it = v.begin(); it != v.end(); ++it){
if (mp[*it] == 3)
А так string str = v[it];
нельзя, поскольку it - это не индекс (при большой нужде можно вычислить индекс как разность it
и it.begin
)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
вот тут лежит мой проект (в src лежат исходники, а в mainProject файл notepad6d11 это собранная версия), проблема: верхняя панель (там где файл поле) не нажимается,...
В проекте создается экземпляр класса DatabaseManagerВ нем я создаю экземпляры класса Database в функции setupNewDatabase
Будет ли работать _set_se_translator в dll, собранной с флагом /EHa, если подключить такую dll к проекту без такого флага?