কম্পিউটার টিউটোরিয়াল

পাইথনে মেজোরিটি ভোট পাওয়া ক্যান্ডিডেটের আইডি বের করার প্রোগ্রাম


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

উদাহরণস্বরূপ, যদি ইনপুট হয় nums = [6, 6, 2, 2, 3, 3, 3, 3, 3], তবে আউটপুট হবে 3।

সমাধানের ধাপসমূহ:
  • l := len(nums)
  • count := প্রতিটি সংখ্যা এবং তাদের অকারনস্ট্রেন্স ধারণকারী ম্যাপ (Counter)
  • প্রতিটি সংখ্যা i এবং অকারনস্ট্রেন্স j এর জন্য count-এ:
    • যদি 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. পাইথনে ১ থেকে N পর্যন্ত অনুপস্থিত সংখ্যাগুলো খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে ইউনিক অ্যারেতে কনটিগুয়াস ইন্টারভাল খুঁজে বের করার প্রোগ্রাম