एक तार दिया गया है। हमारा काम उन वर्णों को खोजना है जिनकी आवृत्ति दी गई स्ट्रिंग में एक से अधिक है।
एक उदाहरण के रूप में, हम देख सकते हैं कि स्ट्रिंग "हैलो वर्ल्ड। आइए पायथन सीखें ”इसलिए एल्गोरिथम उन अक्षरों को ढूंढेगा जो कई बार आ रहे हैं। इस मामले में, आउटपुट इस तरह दिखेगा -
e : 3 l : 4 o , 3) <space> : 4 r : 2 t : 2 n : 2
इस समस्या को लागू करने के लिए हम Python Collections का उपयोग कर रहे हैं। संग्रह से, हम काउंटर () विधि प्राप्त कर सकते हैं। हैशटेबल ऑब्जेक्ट की गणना करने के लिए काउंटर () विधि का उपयोग किया जाता है। इस मामले में, यह वर्णों को पाठ से अलग करता है और प्रत्येक वर्ण को शब्दकोश की कुंजी बनाता है, और वर्ण गणना उन कुंजियों का मान है।
एल्गोरिदम
Step 1: Find the key-value pair from the string, where each character is key and character counts are the values. Step 2: For each key, check whether the value is greater than one or not. Step 3: If it is greater than one then, it is duplicate, so mark it. Otherwise, ignore the character
उदाहरण कोड
from collections import Counter defcalc_char_freq(string): freq_count = Counter(string) # get dictionary with letters as key and frequency as value for key in freq_count.keys(): if freq_count.get(key) > 1: # for all different keys, list the letters and frequencies print("(" + key + ", " + str(freq_count.get(key)) + ")") myStr = 'Hello World. Let’s learn Python' calc_char_freq(myStr)
आउटपुट
(e, 3) (l, 4) (o, 3) ( , 4) (r, 2) (t, 2) (n, 2)