मान लीजिए कि हमारे पास कंपनी का नाम स्ट्रिंग है। हमें कंपनी के नाम से सबसे आम तीन अक्षर खोजने होंगे और इन नियमों का पालन करके उन्हें दिखाना होगा -
- अधिकतम तीन अक्षर चुनें
- उन्हें अवरोही क्रम में क्रमित करें
- यदि कुछ वर्णों की बारंबारता समान है तो उनके वर्णानुक्रम से लें
इसलिए, यदि इनपुट s ="TUTORIALSPOINT" जैसा है, तो आउटपुट [[3, 'T'], [2, 'I'], [2, 'O']]
होगा।इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- x :=s में अक्षरों और अक्षरों की बारंबारता वाला नक्शा
- res :=एक नई सूची
- x में प्रत्येक i के लिए, करें
- रिट में
- जोड़ी डालें (x[i], i) रिट में
- res :=res वर्णानुक्रम के आधार पर क्रमबद्ध करने के बाद
- res :=res को फ़्रीक्वेंसी के आधार पर रिवर्स ऑर्डर में सॉर्ट करने के बाद
- Res से पहले तीन आइटम लौटाएं
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें
from collections import Counter def solve(s): x = Counter(s) res = [] for i in x: res.append([x[i], i]) res = sorted(res, key=lambda cnt: cnt[1]) res = sorted(res, key=lambda cnt: cnt[0], reverse=True) return res[:3] s = "TUTORIALSPOINT" print(solve(s))
इनपुट
"TUTORIALSPOINT"
आउटपुट
[[3, 'T'], [2, 'I'], [2, 'O']]