मान लीजिए हमारे पास एक स्ट्रिंग s है जिसमें लोअरकेस, अपरकेस, संख्यात्मक और विशेष वर्ण हैं। हमें जांचना है कि क्या किसी एक वर्ण की आवृत्ति स्ट्रिंग की लंबाई के आधे से अधिक है या नहीं।
उदाहरण के लिए, यदि s = "CC*Ca5&CC" है, तो आउटपुट True होगा क्योंकि 'C' की आवृत्ति 5 है और स्ट्रिंग की लंबाई 9 है (5 > 9/2)।
हल करने का तरीका
- freq := s के वर्णों की आवृत्तियों का एक मैप
- freq के प्रत्येक वर्ण ch के लिए:
- यदि ch की आवृत्ति > (s की लंबाई / 2), तो True लौटाएं
- False लौटाएं
उदाहरण कोड
from collections import defaultdict
def solve(s):
freq = defaultdict(int)
for ch in s:
freq[ch] += 1
for ch in freq:
if freq[ch] > len(s) // 2:
return True
return False
s = "CC*Ca5&CC"
print(solve(s))
इनपुट
"CC*Ca5&CC"
आउटपुट
True