দেওয়া একটি স্ট্রিং-এ সব ক্যারেক্টার ইউনিক (unique) কিনা চেক করার প্রোগ্রাম।
অ্যালগরিদম
- বুলিয়ান অ্যারে (আকার 128/256) ব্যবহার করে ক্যারেক্টার সeen ট্র্যাক করা।
- দूसरी বার একই ক্যারেক্টার পাওয়া গেলে False রিটার্ন।
- স্ট্রিং দৈর্ঘ্য ২৫৬-এর বেশি হলে সরাসরি False (পিজনহোল প্রিন্সিপল)।
পাইথন কোড উদাহরণ
def isUniqueChars(st):
if len(st) > 256:
return False
char_set = [False] * 128
for i in range(len(st)):
val = ord(st[i])
if char_set[val]:
return False
char_set[val] = True
return True
st = "tutorialspoint"
print(isUniqueChars(st))
আউটপুট
False
উপসংহার
ASCII ভ্যালু ব্যবহার করে বুলিয়ান অ্যারে দিয়ে ইউনিক ক্যারেক্টার চেক করা O(n) টাইমে।