|
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 16
|
|
Бинарный поиск для нахождения количества повторяющихся элементов18.03.2016, 12:34. Показов 23507. Ответов 29
Метки нет (Все метки)
Здравствуйте.
Стоит следующая несложная задача: Дан массив (отсортированный). Например 1 1 1 4 5 6 6 6 6 6 6 6 При вводе числа 6 на выходе должны получить 7. Иными словами, показать количество повторений искомого элемента. Была идея сделать сперва бинарный поиск элемента с левой стороны, потом с правой, а после отнять координаты и +1, и имеем количество элементов. Но, алгоритм должен работать O(logn). Если я буду использовать сразу 2 почти аналогичные функций бинарного поиска, сохранится ли эта сложность, или возрастёт? Если есть какие-то идеи, как сделать быстрее, буду признателен! Спасибо
0
|
|
| 18.03.2016, 12:34 | |
|
Ответы с готовыми решениями:
29
Бинарный поиск для нахождения нечетных чисел Написать формулу для нахождения количества элементов. Функция для нахождения количества элементов в бинарном дереве |
|
0 / 0 / 0
Регистрация: 11.08.2020
Сообщений: 23
|
|
| 21.08.2020, 11:42 | |
|
Повторяю, решение полностью рабочее, в тестирующей системе оно набирает полный балл. Я не использую лишних циклов, лишь тот же, где и производится ввод всего массива. Здесь потерь памяти и времени нет. Задача была на бинарный поиск, функция бин поиска вернёт индекс на элемент в массива, либо -1 если его нет. Как вы говорите, я не сортирую массив, он уже отсортирован при вводе
Добавлено через 5 минут Более того, изначально программа писалась для ответов на запросы по нескольким числам. Было дано m чисел и нужно было ответить на вопрос для каждого из них. Программа также успешно работала, не занимая многоп амяти. Тестирующая система с лёгкостью приняла
0
|
|
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,313
|
|||||||
| 21.08.2020, 23:38 | |||||||
|
0
|
|||||||
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,323
|
||
| 22.08.2020, 07:54 | ||
|
0
|
||
|
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
|
|
| 22.08.2020, 17:15 | |
|
0
|
|
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,323
|
||||||
| 23.08.2020, 04:45 | ||||||
0
|
||||||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,313
|
||
| 23.08.2020, 21:18 | ||
|
0
|
||
|
|
||
| 23.08.2020, 21:48 | ||
|
Может лучше комбинировать, почему не учить писать свою стандартную библиотеку ? ![]() А если без шуток то тут std::lower_bound есть примеры возможной реализации алгоритма(Possible implementation), кто мешает оттуда содрать и разобраться как оно работает?
0
|
||
| 23.08.2020, 21:48 | |
|
Поиск количества повторяющихся чисел в массиве
Массив: Написать программу для нахождения количества отрицательных элементов строки матрицы
Разработать собственный класс, содержащий методы для нахождения количества отрицательных элементов массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|