हेटेरोग्राम क्या है?
हेटेरोग्राम वह स्ट्रिंग है जिसमें कोई डुप्लिकेट लेटर नहीं होता। उदाहरण: "Mobile", "Cry", "Laptop"।
एल्गोरिदम:
स्ट्रिंग के प्रत्येक कैरेक्टर के लिए लूप चलाएं और एक बूलियन ऐरे (साइज़ 26) का उपयोग करके ट्रैक करें कि कैरेक्टर पहले आ चुका है या नहीं।
for (int i = 0; i < len; i++) {
if (val[str[i] - 'a'] == 0)
val[str[i] - 'a'] = 1;
else
return false;
}
यहाँ len स्ट्रिंग की लंबाई है।
पूर्ण कोड उदाहरण
using System;
public class GFG {
static bool checkHeterogram(string str, int len) {
int[] val = new int[26];
for (int i = 0; i < len; i++) {
if (val[str[i] - 'a'] == 0)
val[str[i] - 'a'] = 1;
else
return false;
}
return true;
}
public static void Main() {
string str = "mobile";
int len = str.Length;
if (checkHeterogram(str, len))
Console.WriteLine("String is Heterogram!");
else
Console.WriteLine("String is not a Heterogram!");
}
}
आउटपुट
String is Heterogram!
सीमाएं: यह कोड केवल लोअरकेस अल्फाबेट्स (a-z) के लिए काम करता है। अपरकेस, स्पेस, या विशेष कैरेक्टर्स के लिए अतिरिक्त हैंडलिंग चाहिए।