Это то, что я придумал, но я всегда получаю ошибку проверки времени выполнения # 2 - стек с переменной h был поврежден.Использование гистограммы для поиска наиболее распространенной буквы в массиве
int mostCommonLetter(char s[]) {
int i=0, h[26],k=0, max=0, number=0;
while (k < 26){
h[k] = '0';
k++;
}
while(s[i] != '\0'){
h[whichLetter(s[i])] = h[whichLetter(s[i])]+1;
i++;
}
h[26] = '\0';
for(i=0;h[i]!='\0';i++){
if(h[i] > max)
number=i;
}
return number;
}
whichLetter возвращает -1, когда он встречает пространство – user133466
@ user133466: Это также сломается - вам нужно проверить это, и если возвращаемое значение равно -1, не изменяйте h – Erik