এখানে একটি স্ট্রিং দেওয়া আছে, আমাদের কাজ হলো চেক করা যে দেওয়া স্ট্রিং হেটেরোগ্রাম (Heterogram) কিনা।
হেটেরোগ্রাম চেক করার অর্থ হলো একটি শব্দ, ফরেজ বা বাক্য যেখানে আ্যালফাবেটের কোনো অক্ষর একবারের বেশি ব্যবহার হয়নি। একটি হেটেরোগ্রাম প্যানগ্রাম (pangram)-এর সাথে আলাদা যেটি আ্যালফাবেটের সকল অক্ষর ব্যবহার করে।
উদাহরণ
String is abc def ghi
This is Heterogram (no alphabet repeated)
String is abc bcd dfh
This is not Heterogram. (b,c,d are repeated)
অ্যালগরিদম
ধাপ ১: প্রথমে বাক্যে থাকা সকল আ্যালফাবেটের লিস্ট বের করুন। ধাপ ২: আ্যালফাবেটের লিস্টকে সেটে রূপান্তর করুন কারণ সেটে ইউনিক ভ্যালু থাকে। ধাপ ৩: যদি সেটের দৈর্ঘ্য আ্যালফাবেটের সংখ্যার সমান হয় তবে প্রতিটি আ্যালফাবেট একবারই ঘটেছে অর্থাৎ সেন্টেন্সটি হেটেরোগ্রাম, অন্যথায় নয়।
উদাহরণ কোড
def stringheterogram(s, n): hash = [0] * 26 for i in range(n): if s[i] != ' ': if hash[ord(s[i]) - ord('a')] == 0: hash[ord(s[i]) - ord('a')] = 1 else: return False return True # ড্রাইভার কোড s = input("Enter the String ::>") n = len(s) print(s,"This string is Heterogram" if stringheterogram(s, n) else "This string is not Heterogram")আউটপুট
Enter the String ::> asd fgh jkl asd fgh jkl this string is Heterogram Enter the String ::>asdf asryy asdf asryy This string is not Heterogram