Изменения

Перейти к: навигация, поиск

Мажорирующий элемент

47 байт убрано, 19:05, 4 сентября 2022
м
rollbackEdits.php mass rollback
{{Задача|definition == Формулировка задачи == Требуется в массиве длиной <tex>N</tex> найти элемент, встречающийся более <tex>N/2</tex> раз. Гарантируется, что такой элемент существует.}}
== Решение за O(N) ==
=== Псевдокод ===
'''function''' findMajorityElement(a: '''int*''', [N: '''int]'''): '''int'''
count = 0 ''<font color="green">// количество людей, оставшихся стоять</font>''
candidate = <tex>\varnothing</tex>
=== Псевдокод ===
'''function''' findMajorityElement(a: '''int*''', [N: '''int]''', K: '''int'''): '''int*[N]'''
''<font color="green">//candidates — словарь, где ключ — стоящий элемент,</font>''
''<font color="green">//значение — количество таких стоящих элементов</font>''
'''function''' findMajorityElement(a: '''int*''', [N: '''int]''', K: '''int'''): '''int'''
'''while''' ''true''
candidate = a[random(N)]
1632
правки

Навигация