এই সমস্যায়, একটি স্ট্রিং দেওয়া থাকে এবং আমাদের সেই ক্যারেক্টারগুলো খুঁজে বের করতে হবে যা ডুপ্লিকেটেড এবং স্ট্রিংয়ে তাদের gyakর্র घटনা সংখ্যাও জানতে হবে।
উদাহরণ দিয়ে বুঝি:
ইনপুট: TutorialsPoint আউটপুট: t (3) o (2) i (2)
ব্যাখ্যা: প্রতিটি ক্যারেক্টার উপস্থিতির ফ্রিকোয়েন্সি: t → 3; u → 1; o → 2; r → 1; i → 2; a → 1; s → 1; n → 1।
এখন, এই সমস্যাটি সমাধান করতে আমরা ক্যারেক্টার কাউন্ট বের করব এবং স্ট্রিং থেকে অ্যারেতে সংরক্ষণ করব। এবং সেসব ক্যারেক্টার এবং তাদের ঘটনা প্রিন্ট করব যেখানে ফ্রিকোয়েন্সি ১-এর চেয়ে বেশি।
C++ উদাহরণ
# include <iostream> using namespace std; # define NO_OF_CHARS 256 class duplicate_char{ public : void charCounter(char *str, int *count){ int i; for (i = 0; *(str + i); i++) count[*(str + i)]++; } void printDuplicateCharacters(char *str){ int *count = (int *)calloc(NO_OF_CHARS, sizeof(int)); charCounter(str, count); int i; for (i = 0; i < NO_OF_CHARS; i++) if(count[i] > 1) printf("%c\t\t %d \n", i, count[i]); free(count); } }; int main(){ duplicate_char dupchar ; char str[] = "tutorialspoint"; cout<<"The duplicate characters in the string\n"; cout<<"character\tcount\n"; dupchar.printDuplicateCharacters(str); return 0; }আউটপুট
স্ট্রিংয়ের ডুপ্লিকেট ক্যারেক্টারগুলো:
i 2 o 2 t 3