Мне нужно найти элемент с наивысшим вступлением в массив строк. Я не уверен, что делать, поскольку у меня нет большого опыта в этом. Я не знаю указателей/хеш-таблиц.Элемент с наивысшим результатом в массиве строк
Я уже сделал это для целых чисел, но я не могу заставить его работать для строк.
Моя версия:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int a[]={1,2,3,4,4,4,5};
int n = sizeof(a)/sizeof(int);
int *b=new int [n];
fill_n(b,n,0); // Put n times 0 in b
int val=0; // Value that is the most frequent
for (int i=0;i<n;i++)
if(++b[a[i]] >= b[val])
val = a[i];
cout<<val<<endl;
delete[] b;
return 0;
}
Любая помощь для нахождения наиболее часто встречающийся элемент в массиве строк ценится!
Это может выглядеть почти так же, но вы использовали 'std :: map' вместо 'int * b'. –
LihO
Erm .. я пробовал карты, на самом деле не работал, я искал подсказки в Google в течение часа, не нашел ничего полезного ... –
Что вы пробовали для укусов? –