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

পাইথনে অধিকাংশ ভোট পাওয়া প্রার্থীদের তালিকা বের করার প্রোগ্রাম


একটি ভোটের তালিকা nums দেওয়া আছে। প্রతి সংখ্যা একটি প্রার্থীর আইডি। যেসব প্রার্থী floor(n/3)-এর চেয়ে বেশি ভোট পেয়েছে তাদের আইডি অর্ধক্রমে রিটার্ন করুন।

উদাহরণ: nums = [3, 2, 6, 6, 6, 6, 7, 7, 7, 7, 7] → আউটপুট [6, 7]।

সমাধানের ধাপগুলো:

  • ans সেট, তালিকা সাজান।
  • i = 0, n = len(nums)।
  • while i < len(nums): যদি nums.count(nums[i]) > n//3 হয় তবে ans.add(nums[i])।
  • i += n//3।
  • সেটকে সর্টেড লিস্টে রূপান্তর করুন।

উদাহরণ

class Solution:
    def solve(self, nums):
        ans = set()
        nums.sort()
        i = 0
        n = len(nums)
        while i < len(nums):
            if nums.count(nums[i]) > n // 3:
                ans.add(nums[i])
            i += n // 3
        return sorted(list(ans))

ob = Solution()
nums = [3, 2, 6, 6, 6, 6, 7, 7, 7, 7, 7]
print(ob.solve(nums))

ইনপুট

[3, 2, 6, 6, 6, 6, 7, 7, 7, 7, 7]

আউটপুট

[6, 7]
  1. পাইথনে লিস্ট স্ট্রিক্টলি ইনক্রিজিং বা ডিক্রিজিং কিনা যাচাই করার প্রোগ্রাম

  2. পাইথন প্রোগ্রাম দিয়ে লিস্টকে স্ট্রিংয়ে রূপান্তর

  3. পাইথনে লিস্টকে স্ট্রিংে কনভার্ট করা

  4. পাইথনে ৩D লিস্ট তৈরি করার প্রোগ্রাম