تابعی بسازید که نتیجهٔ رای اکثریت در یک لیست را برگرداند. رای اکثریت عنصری است که بیش از 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 برگردانید.
Assert.Equal("A", Backendbaz.MajorityVote(new string[] { "A", "A", "B" })); Assert.Equal("A", Backendbaz.MajorityVote(new string[] { "A", "A", "A", "B", "C", "A" })); Assert.Equal("None", Backendbaz.MajorityVote(new string[] { "A", "B", "B", "A", "C", "C" })); Assert.Equal("B", Backendbaz.MajorityVote(new string[] { "B", "A", "B", "B", "C", "A", "B", "B" })); Assert.Equal("None", Backendbaz.MajorityVote(new string[] { "A", "B", "B", "A", "C", "C" })); Assert.Equal("None", Backendbaz.MajorityVote(new string[] { "A", "B" })); Assert.Equal("A", Backendbaz.MajorityVote(new string[] { "A" })); Assert.Equal("None", Backendbaz.MajorityVote(new string[] { }));
نظرات