Търся решение на задача от книгата "Принципи на програмирането със C#"
Здравейте,
"Принципи на програмирането със C#". В 16 глава 8 задача
8. Мажорант на масив от N елемента е стойност, която се среща поне
N/2+1 пъти. Напишете програма, която по даден масив от числа на-
мира мажоранта на масива и го отпечатва. Ако мажорантът не съ-
ществува – отпечатва "The majorant does not exists!”.
Пример: {2, 2, 3, 3, 2, 3, 4, 3, 3} → 3
се споменава за алтернативно решение:
Друго решение: Използвайте стек и сканирайте елементите. При
всяка стъпка проверявайте дали елемента в началото на стека е
различен от следващия елемент от входящата поредица и премахвайте
елемента от стека. В противен случай залепяте елемента към стека.
Накрая, мажорантът ще бъде в стека (ако съществува). Защо? Всеки
път когато намерите два различни елемента, то премахвате и двата.
Тази операция поддържа мажоранта един и същ и намалява дължината
на поредицата, нали? Ако повтаряте това колкото пъти е възможно,
накрая стека ще съдържа само елементи с еднаква стойност –
мажоранта.
От две седмици се опитвам да реша задачата със Стек - неуспешно :(. Моля Ви ака разполатате с таково решение да го споделите. Явно не мога да разбера добре указанието към задачата.