मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है जिसमें n मान हैं, जहां प्रत्येक संख्या एक उम्मीदवार को वोट दर्शाती है। हमें उस उम्मीदवार की ID ढूंढनी है जिसके पास floor(n/2) से अधिक वोट हैं, और यदि कोई बहुमत वोट नहीं है तो -1 लौटाएं।
उदाहरण के लिए, यदि इनपुट nums = [6, 6, 2, 2, 3, 3, 3, 3, 3] है, तो आउटपुट 3 होगा।
समाधान दृष्टिकोण
इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:
l := len(nums)count :=प्रत्येक संख्या और उनकी घटनाओं वाला मैप- प्रत्येक संख्या
iऔर घटनाjके लिएcountमें:- यदि
j > l//2:iलौटाएं
- यदि
-1लौटाएं
उदाहरण कोड
from collections import Counter
class Solution:
def solve(self, nums):
l = len(nums)
count = Counter(nums)
for i, j in count.items():
if j > (l // 2):
return i
return -1
ob = Solution()
nums = [6, 6, 2, 2, 3, 3, 3, 3, 3]
print(ob.solve(nums))इनपुट
[6, 6, 2, 2, 3, 3, 3, 3, 3]
आउटपुट
3