इस खंड में हम वर्णों की एक स्ट्रिंग या धारा से पहला अद्वितीय या गैर-दोहराए जाने वाले चरित्र को खोजने जा रहे हैं। इस समस्या को हल करने के कई तरीके हैं। हम पात्रों की एक ही धारा के लिए दो अलग-अलग प्रोग्राम बनाने का प्रयास करेंगे।
विधि 1:फ़ंक्शन का उपयोग करना
def firstNonRepeatingChar(str1):
char_order = []
counts = {}
for c in str1:
if c in counts:
counts[c] += 1
else:
counts[c] = 1
char_order.append(c)
for c in char_order:
if counts[c] == 1:
return c
return None
print(firstNonRepeatingChar('PythonforallPythonMustforall'))
print(firstNonRepeatingChar('tutorialspointfordeveloper'))
print(firstNonRepeatingChar('AABBCC')) परिणाम
M u None
उपरोक्त कार्यक्रम ओ (एन) समाधान देता है। उपरोक्त कार्यक्रम में हम पहले एक बार स्ट्रिंग के माध्यम से लूप करते हैं। एक बार जब हमें एक नया चरित्र मिल जाता है, तो हम इसे 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)
if slen1 == slen0-1:
print ("First non-repeating character is: ",ch)
break;
else:
print ("No Unique Character Found!") परिणाम
First non-repeating character is: u