Tag: алгоритм

максимальный подмассив массива с целыми числами

В интервью одному из моих друзей было предложено найти подмассиву из массива с максимальной суммой, это мое решение проблемы, как я могу улучшить решение, сделать его более оптимальным, следует ли лучше рассмотреть вопрос рекурсивным образом? def get_max_sum_subset(x): max_subset_sum = 0 max_subset_i = 0 max_subset_j = 0 for i in range(0,len(x)+1): for j in range(i+1,len(x)+1): current_sum […]

Оптимизация «игры жизни» Конвея

Чтобы поэкспериментировать, я (давно) реализовал Game of Life от Conway (и я знаю этот смежный вопрос!). Моя реализация работала, сохраняя 2 массива логических значений, представляющих «последнее состояние», и «состояние обновляется» (2 массива меняются местами на каждой итерации). Хотя это достаточно быстро, я часто задавался вопросом, как оптимизировать это. Одна из идей, например, заключалась бы в […]

Рассчитайте, когда будет выполняться задание cron, а затем в следующий раз

У меня есть определение времени «cron», 1 * * * * (every hour at xx:01) 2 5 * * * (every day at 05:02) 0 4 3 * * (every third day of the month at 04:00) * 2 * * 5 (every minute between 02:00 and 02:59 on fridays) И у меня есть временная […]

std :: transform () и toupper (), нет соответствующей функции

Я пробовал код из этого вопроса C ++ std :: transform () и toupper () .. почему это не удается? #include #include int main() { std::string s=”hello”; std::string out; std::transform(s.begin(), s.end(), std::back_inserter(out), std::toupper); std::cout << "hello in upper case: " << out << std::endl; } Теоретически это должно было работать, поскольку это один из примеров […]

Как найти число различных кратчайших путей между двумя вершинами, в ориентированном графе и с линейным временем?

Вот упражнение: Пусть v и w – две вершины в ориентированном графе G = (V, E). Разработайте алгоритм с линейным временем, чтобы найти количество различных кратчайших путей (не обязательно, если они не пересекаются) между v и w. Примечание: края в G невзвешенные Для этого акциза я резюмирую следующее: Это ориентированный граф Он запрашивает количество различных […]

Найдите, находится ли точка внутри выпуклой оболочки для набора точек без вычисления самого корпуса

Каков самый простой способ проверить, находится ли точка P внутри выпуклой оболочки, образованной множеством точек X? Мне нужен алгоритм, который работает в высокоразмерном пространстве (скажем, до 40 измерений), который явно не вычисляет сам выпуклый корпус. Есть идеи?

Случайные точки внутри параллелограмма

У меня есть 4-сторонний выпуклый многоугольник, определяемый 4 точками в 2D, и я хочу иметь возможность генерировать в нем случайные точки. Если это действительно упрощает проблему, я могу ограничить многоугольник параллелограммом, но предпочтительнее более общий ответ. Генерация случайных точек, пока один из них не окажется внутри многоугольника, не будет работать, потому что это действительно непредсказуемое […]

Как вы находите точку на заданном перпендикулярном расстоянии от линии?

У меня есть строка, которую я рисую в окне, и я позволяю пользователю перетаскивать ее. Итак, моя строка определяется двумя точками: (x1, y1) и (x2, y2). Но теперь я хотел бы нарисовать «шапки» в конце моей строки, то есть короткие перпендикулярные линии в каждой из моих конечных точек. Колпачки должны иметь длину N пикселей. Таким […]

Найти 2 числа в несортированном массиве, равном заданной сумме

Нам нужно найти пару чисел в массиве, сумма которого равна заданному значению. A = {6,4,5,7,9,1,2} Sum = 10 Тогда пары – {6,4}, {9,1} У меня есть два решения для этого. решение O (nlogn) – сортировать + проверять сумму с помощью 2 iteratorов (начало и конец). решение O (n) – хеширование массива. Затем проверьте, существует ли […]

Обнаружение столкновений огромного количества кругов

Каков наилучший способ проверки столкновения огромного количества кругов? Очень легко обнаружить столкновение между двумя кругами, но если мы проверим каждую комбинацию, то это O (n 2 ), которая определенно не является оптимальным решением. Мы можем предположить, что объект окружности обладает следующими свойствами: Координаты Радиус Скорость направление Скорость постоянна, но направление может измениться. Я придумал два […]

Давайте будем гением компьютера.