একটি ভোটের তালিকা 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]