Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tìm ký tự xuất hiện nhiều nhất trong chuỗi bằng C++

Mô tả bài toán

Cho chuỗi chữ thường. Tìm ký tự xuất hiện nhiều nhất (nếu tie lấy ký tự nhỏ hơn theo bảng chữ cái).

Ví dụ

str="programming" → Output: 'g' (xuất hiện 2 lần).

Giải thuật

Mảng đếm tần suất 26 chữ cái. Duyệt chuỗi tăng đếm. Tìm chỉ số có count lớn nhất (duyệt từ 'a' đến 'z' tự động ưu tiên ký tự nhỏ hơn).

Mã nguồn C++

#include <bits/stdc++.h>
using namespace std;

char findMaxOccuringChar(char str[]) {
    int freq[26] = {};
    int len = strlen(str);
    for (int i=0; i maxFreq) { maxFreq = freq[i]; ans = 'a'+i; }
    return ans;
}

int main() {
    char str[] = "programming";
    cout << "Max occurring char: " << findMaxOccuringChar(str);
    return 0;
}

Đầu ra

Maximum occurring character of input string is g