যখন দুটি স্ট্রিং প্রকৃতিতে আইসোমরফিক কিনা তা পরীক্ষা করার প্রয়োজন হয়, তখন একটি পদ্ধতি সংজ্ঞায়িত করা হয় যা পরামিতি হিসাবে দুটি স্ট্রিং নেয়। এটি স্ট্রিংয়ের দৈর্ঘ্যের মাধ্যমে পুনরাবৃত্তি করে এবং 'ord' পদ্ধতি ব্যবহার করে একটি অক্ষরকে একটি পূর্ণসংখ্যাতে রূপান্তর করে।
উদাহরণ
নীচে একই
একটি প্রদর্শনী আছেMAX_CHARS = 256
def check_isomorphic(str_1, str_2):
len_1 = len(str_1)
len_2 = len(str_2)
if len_1 != len_2:
return False
marked = [False] * MAX_CHARS
map = [-1] * MAX_CHARS
for i in range(len_2):
if map[ord(str_1[i])] == -1:
if marked[ord(str_2[i])] == True:
return False
marked[ord(str_2[i])] = True
map[ord(str_1[i])] = str_2[i]
elif map[ord(str_1[i])] != str_2[i]:
return False
return True
str_1 = 'aababa'
str_2 = 'xxyyxx'
print("The first string is :")
print(str_1)
print("The second string is :")
print(str_2)
print("Is the first string isomorphic ?")
print(check_isomorphic("aab","xxy"))
print("Is the second string isomorphic ?")
print(check_isomorphic("aab","xyz")) আউটপুট
The first string is : aababa The second string is : xxyyxx Is the first string isomorphic ? True Is the second string isomorphic ? False
ব্যাখ্যা
-
'check_isomorphic' নামের একটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে।
-
এই পদ্ধতিটি পরামিতি হিসাবে দুটি স্ট্রিং নেয়।
-
এটি স্ট্রিংগুলির দৈর্ঘ্য নির্ধারণ করে।
-
এটা নিশ্চিত করতে হবে যে স্ট্রিংগুলি একই দৈর্ঘ্যের নয়৷
-
দুটি তালিকা তৈরি করা হয়েছে যেখানে একটিতে 'মিথ্যা' মান রয়েছে এবং অন্যটিতে '-1' মান রয়েছে।
-
দ্বিতীয় স্ট্রিং দৈর্ঘ্যের উপর পুনরাবৃত্তি করা হয়, এবং প্রথম স্ট্রিং এর অক্ষরগুলি পূর্ণসংখ্যাতে রূপান্তরিত হয়।
-
'মিথ্যা' মানের সাথে তালিকার সংশ্লিষ্ট মান পরিবর্তন করা হয়েছে।
-
ফাংশনের বাইরে, দুটি স্ট্রিং সংজ্ঞায়িত করা হয়, এবং কনসোলে প্রদর্শিত হয়৷
৷ -
এই স্ট্রিংগুলিকে প্যারামিটার হিসাবে পাস করে পদ্ধতিটিকে বলা হয়।
-
আউটপুট কনসোলে প্রদর্শিত হয়।