প্রথমে চেক করার জন্য স্ট্রিংটি সেট করুন।
string s = "timetime";
এখন স্ট্রিংয়ের দুটি অর্ধেকের জন্য দুটি কাউন্টার সেট করুন।
int[] one = new int[MAX_CHAR]; int[] two = new int[MAX_CHAR];
স্ট্রিংয়ের দুটি অর্ধেক চেক করুন।
for (int i = 0, j = l - 1; i < j; i++, j--) {
one[str[i] - 'a']++;
two[str[j] - 'a']++;
}
সম্পূর্ণ কোড
using System;
class Demo {
static int MAX_CHAR = 26;
static bool findSameCharacters(string str) {
int[] one = new int[MAX_CHAR];
int[] two = new int[MAX_CHAR];
int l = str.Length;
if (l == 1)
return true;
for (int i = 0, j = l - 1; i < j; i++, j--) {
one[str[i] - 'a']++;
two[str[j] - 'a']++;
}
for (int i = 0; i < MAX_CHAR; i++)
if (one[i] != two[i])
return false;
return true;
}
public static void Main() {
string str = "timetime";
if (findSameCharacters(str))
Console.Write("হ্যাঁ: দুটি অর্ধেক একই!");
else
Console.Write("না! দুটি অর্ধেক একই নয়!");
}
}
আউটপুট
হ্যাঁ: দুটি অর্ধেক একই!