تابعی بسازید که نتیجهٔ رای اکثریت در یک لیست را برگرداند. رای اکثریت عنصری است که بیش از N/2 بار در لیست تکرار شدهاست (که در آن N طول لیست است).
نمونه ورودی و خروجی
MajorityVote(["A", "A", "B"]) ➞ A
MajorityVote(["A", "A", "A", "B", "C", "A"]) ➞ A
MajorityVote(["A", "B", "B", "A", "C", "C"]) ➞ None
نکات:
- فراوانی عنصر اکثریت باید به صورت دقیقاً بیشتر از 1/2 باشد.
- اگر عنصر اکثریت وجود نداشته باشد، None برگردانید.
- اگر لیست خالی باشد، None برگردانید.
EXPECT_EQ(MajorityVote({"A", "A", "B"}), "A"); EXPECT_EQ(MajorityVote({"A", "A", "A", "B", "C", "A"}), "A"); EXPECT_EQ(MajorityVote({"A", "B", "B", "A", "C", "C"}), "None"); EXPECT_EQ(MajorityVote({"B", "A", "B", "B", "C", "A", "B", "B"}), "B"); EXPECT_EQ(MajorityVote({"A", "B", "B", "A", "C", "C"}), "None"); EXPECT_EQ(MajorityVote({"A", "B"}), "None"); EXPECT_EQ(MajorityVote({"A"}), "A"); EXPECT_EQ(MajorityVote({}), "None");
نظرات