بکندباز

تابعی بسازید که نتیجهٔ رای اکثریت در یک لیست را برگرداند. رای اکثریت عنصری است که بیش از 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[] { }));

هنوز پاسخی برای این تمرین ثبت نشده است

نظرات

*
*