একটি স্ট্রিং দেওয়া আছে (ছোট হাতের অক্ষর)। প্রতিটি ক্যারেক্টর এবং তার ফ্রিকোয়েন্সি অভ apparition অর্ডারে (যে অর্ডারে প্রথম আসে) প্রিন্ট করতে হবে।
উদাহরণ: ইনপুট: "jskdk" → আউটপুট: j 1, s 1, k 2, d 1
- ২৬ সাইজের ফ্রিকোয়েন্সি অ্যারে ০ দিয়ে ইনিশিয়ালাইজ করুন।
- স্ট্রিং ট্রাভার্স করে ফ্রিকোয়েন্সি বাড়ান।
- আবার স্ট্রিং ট্রাভার্স করে যদি ফ্রিকোয়েন্সি > ০ হয়, প্রিন্ট করে ফ্রিকোয়েন্সি ০ করুন (তা কি دوبার প্রিন্ট না হয়)।
#include <bits/stdc++.h>
using namespace std;
int main() {
string str = "tutorialspoint";
int n = str.size();
int frequency[26];
memset(frequency, 0, sizeof(frequency));
for (int i = 0; i < n; i++)
frequency[str[i] - 'a']++;
for (int i = 0; i < n; i++) {
if (frequency[str[i] - 'a'] != 0) {
cout << str[i] << "\t" << frequency[str[i] - 'a'] << "\n";
frequency[str[i] - 'a'] = 0;
}
}
return 0;
}
t 3 u 1 o 2 r 1 i 2 a 1 l 1 s 1 p 1 n 1