इस लेख में, हम पायथन में List Comprehension और OrderedDict का उपयोग करके K'th नॉन-रिपीटिंग कैरेक्टर के बारे में जानेंगे। ऐसा करने के लिए हम पायथन में उपलब्ध इनबिल्ट कंस्ट्रक्ट्स की मदद लेते हैं।
एल्गोरिदम
1. पहले, हम इनपुट से एक डिक्शनरी डेटा बनाते हैं।
2. अब हम प्रत्येक कैरेक्टर की आवृत्ति गिनते हैं।
3. अब हम उन सभी कुंजियों की सूची निकालते हैं जिनका मान 1 के बराबर है।
4. अंत में, हम k-1 कैरेक्टर वापस करते हैं।
उदाहरण
from collections import OrderedDict
import itertools
def kthRepeating(inp, k):
# एक डिक्शनरी डेटा वापस करता है
dict = OrderedDict.fromkeys(inp, 0)
# प्रत्येक कैरेक्टर की आवृत्ति
for ch in inp:
dict[ch] += 1
# अब उन सभी कुंजियों की सूची निकालें जिनका मान 1 है
nonRepeatDict = [key for (key, value) in dict.items() if value == 1]
# (k-1)th कैरेक्टर वापस करता है
if len(nonRepeatDict) < k:
return 'no output.'
else:
return nonRepeatDict[k-1]
# ड्राइवर फंक्शन
if __name__ == "__main__":
inp = "tutorialspoint"
k = 3
print(kthRepeating(inp, k))
आउटपुट
a
निष्कर्ष
इस लेख में, हमने पायथन में List Comprehension और OrderedDict का उपयोग करके K'th नॉन-रिपीटिंग कैरेक्टर ढूंढा।