এই বিভাগে আমরা একটি স্ট্রিং বা অক্ষরগুলির স্ট্রিম থেকে প্রথম অনন্য বা অ-পুনরাবৃত্ত অক্ষরটি খুঁজে বের করতে যাচ্ছি। এই সমস্যা সমাধানের একাধিক উপায় আছে। আমরা একই অক্ষরের জন্য দুটি ভিন্ন প্রোগ্রাম তৈরি করার চেষ্টা করব।
পদ্ধতি 1:ফাংশন ব্যবহার করা
def firstNonRepeatingChar(str1):char_order =[] counts ={} str1 এ c এর জন্য:যদি c গণনায় থাকে:counts[c] +=1 else:counts[c] =1 char_order.append(c) c এর জন্য char_order:যদি গণনা হয়[c] ==1:ফেরত c Noneprint(firstNonRepeatingChar('PythonforallPythonMustforall'))print(firstNonRepeatingChar('tutorialspointfordeveloper'))print(firstNonRepeatingChar')ফলাফল
MuNoneউপরের প্রোগ্রামে O(n) সমাধান দিন। উপরের প্রোগ্রামে আমরা প্রথমে স্ট্রিংটি একবার লুপ করি। একবার আমরা একটি নতুন অক্ষর খুঁজে পেলে, আমরা এটিকে 1 এর মান সহ কাউন্টস অবজেক্টে সংরক্ষণ করি এবং এটিকে char_order এ যুক্ত করি। যখন আমরা একটি পুনরাবৃত্ত অক্ষর দেখতে পাই, তখন আমরা গণনার মান 1 দ্বারা বৃদ্ধি করি। অবশেষে, আমরা char_order এর মাধ্যমে লুপ করি যতক্ষণ না আমরা char_order এ 1 এর মান সহ একটি অক্ষর খুঁজে পাই এবং এটি ফিরিয়ে দিই।
পদ্ধতি 2:যখন লুপ ব্যবহার করা
s ="tutorialspointfordeveloper"while s !="":slen0 =len(s) ch =s[0] s =s.replace(ch, "") slen1 =len(s) যদি slen1 ==slen0- 1:মুদ্রণ ("প্রথম অ-পুনরাবৃত্ত অক্ষর হল:",ch) বিরতি; else:প্রিন্ট ("কোন অনন্য অক্ষর পাওয়া যায়নি!")ফলাফল
প্রথম অ-পুনরাবৃত্ত অক্ষর হল:u