কম্পিউটার

পাইথনে হট মেজরিটি ভোট আছে এমন প্রার্থীর আইডি খোঁজার প্রোগ্রাম


ধরুন আমাদের কাছে n মান সম্বলিত nums নামক সংখ্যার একটি তালিকা আছে, যেখানে প্রতিটি সংখ্যা একজন প্রার্থীকে ভোট প্রদান করে। আমাদেরকে সেই প্রার্থীর আইডি খুঁজে বের করতে হবে যার ভোট সংখ্যা ফ্লোর(n/2) থেকে বেশি, এবং যদি সংখ্যাগরিষ্ঠ ভোট না থাকে তাহলে -1 ফেরত দিতে হবে।

সুতরাং, ইনপুট যদি সংখ্যার মত হয় =[6, 6, 2, 2, 3, 3, 3, 3, 3], তাহলে আউটপুট হবে 3।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • l :=সংখ্যার আকার
  • গণনা :=প্রতিটি পৃথক সংখ্যা এবং তাদের ঘটনা সম্বলিত একটি মানচিত্র
  • প্রতিটি সংখ্যার জন্য i এবং সংঘটন j গণনায়, কর
    • যদি j> (l / 2), তারপর
      • রিটার্ন i
  • রিটার্ন -1

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

class Solution:
   def solve(self, nums):
      l = len(nums)
      from collections import Counter
      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

  1. পাইথনে সংলগ্ন সাবয়ারের সর্বাধিক পণ্য খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে দীর্ঘতম ধারাবাহিক অনুক্রমের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে 1 থেকে N পর্যন্ত সমস্ত অনুপস্থিত সংখ্যা খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে একটি অনন্য অ্যারের সংলগ্ন ব্যবধান খুঁজে বের করার জন্য প্রোগ্রাম