Вопросы с тегом «algorithm»

Алгоритм - это последовательность четко определенных шагов, которые определяют абстрактное решение проблемы. Используйте этот тег, если ваша проблема связана с дизайном алгоритма.

4002
Как проверить, содержит ли массив значение в JavaScript?

Какой самый краткий и эффективный способ выяснить, содержит ли массив JavaScript значение? Это единственный способ, которым я знаю, чтобы сделать это: function contains(a, obj) { for (var i = 0; i < a.length; i++) { if (a[i] === obj) { return true; } } return false; } Есть ли лучший и более...

3914
Как эффективно соединить носки из кучи?

Вчера я спаривал носки из чистого белья и понял, что делать это не очень эффективно. Я делал наивный поиск - выбирал один носок и «перебирал» кучу, чтобы найти ее пару. Это требует итерации по п / 2 * N / 4 = п 2 /8 носки в среднем. Как ученый-компьютерщик, я думал, что я мог бы сделать? Сортировка...

1920
Какой оптимальный алгоритм для игры 2048?

Я недавно наткнулся на игру 2048 . Вы объединяете подобные плитки, перемещая их в любом из четырех направлений, чтобы сделать плитки «большего размера». После каждого хода новая плитка появляется в случайной пустой позиции со значением либо 2или 4. Игра заканчивается, когда все поля заполнены, и...

1659
Обработка изображений: Улучшение алгоритма для распознавания Coca-Cola Can

Одним из самых интересных проектов, над которыми я работал в последние пару лет, был проект об обработке изображений . Цель состояла в том, чтобы разработать систему, способную распознавать «банки» Coca-Cola (обратите внимание, что я подчеркиваю слово «банки», через минуту вы поймете, почему). Вы...

1449
Какой лучший алгоритм для переопределения GetHashCode?

В .NET GetHashCodeметод используется во многих местах в библиотеках базовых классов .NET. Для правильной его реализации особенно важно быстро находить элементы в коллекции или при определении равенства. Существуют ли стандартные алгоритмы или рекомендации по реализации GetHashCodeпользовательских...

1146
Простой вопрос интервью усложнился: по номерам 1..100 найдите пропущенные числа, по которым точно k отсутствуют

Некоторое время назад у меня был интересный опыт собеседования. Вопрос начался очень просто: Q1 : У нас есть пакет , содержащий номера 1, 2, 3..., 100. Каждый номер появляется ровно один раз, поэтому есть 100 номеров. Теперь один номер случайно выбирается из сумки. Найдите пропущенный номер....

1102
Алгоритм дерева суффиксов Укконена на простом английском

Я чувствую себя немного толстым в этот момент. Я потратил несколько дней, пытаясь полностью обернуть голову вокруг построения суффиксного дерева, но поскольку у меня нет математического фона, многие объяснения ускользают от меня, поскольку они начинают чрезмерно использовать математические символы....

1000
Удаление дубликатов в списках

В значительной степени мне нужно написать программу, чтобы проверить, есть ли в списке дубликаты, и если он это делает, он удаляет их и возвращает новый список с элементами, которые не были дублированы / удалены. Это то, что у меня есть, но, если честно, я не знаю, что делать. def...

908
Рассчитать расстояние между двумя точками широты и долготы? (Формула Haversine)

Как рассчитать расстояние между двумя точками, указанными по широте и долготе? Для пояснения, я бы хотел расстояние в километрах; точки используют систему WGS84, и я хотел бы понять относительную точность доступных...

890
Как найти временную сложность алгоритма

Вопрос Как найти временную сложность алгоритма? Что я сделал, прежде чем опубликовать вопрос о SO? Я прошел через это , это и многие другие ссылки Но не там, где я смог найти четкое и прямое объяснение того, как рассчитать сложность времени. Что я знаю ? Скажем для кода так же просто, как показано...

881
Big O, как вы рассчитываете / приближаете это?

Большинство людей со степенью в CS, безусловно , знают , что Big O означает . Это помогает нам измерить, насколько хорошо масштабируется алгоритм. Но мне любопытно, как вы рассчитываете или приближаете сложность ваших...

772
Как определить, насколько точен мой расчет числа пи?

Я пробовал различные методы для реализации программы, которая дает цифры числа Пи последовательно. Я попробовал метод рядов Тейлора , но он оказался очень медленным (когда я сравнил свой результат с онлайн-значениями через некоторое время). Во всяком случае, я пытаюсь лучшие алгоритмы. Итак, при...

726
Сортировка 1 миллиона 8-значных десятичных цифр с 1 МБ ОЗУ

У меня есть компьютер с 1 МБ ОЗУ и нет другого локального хранилища. Я должен использовать его, чтобы принять 1 миллион 8-значных десятичных чисел через TCP-соединение, отсортировать их, а затем отправить отсортированный список через другое TCP-соединение. Список номеров может содержать дубликаты,...

693
Расширить случайный диапазон от 1–5 до 1–7

Для функции, которая выдает случайное целое число в диапазоне от 1 до 5, напишите функцию, которая выдает случайное целое число в диапазоне от 1 до 7. Что такое простое решение? Каково эффективное решение для уменьшения использования памяти или работы на более медленном процессоре?...

692
Генерация целого числа, которого нет среди четырех миллиардов заданных

Мне дали этот вопрос интервью: Учитывая входной файл с четырьмя миллиардами целых чисел, предоставьте алгоритм для генерации целого числа, которое не содержится в файле. Предположим, у вас есть 1 ГБ памяти. Следите за тем, что бы вы сделали, если у вас есть только 10 МБ памяти. Мой анализ: Размер...

667
Как мне создать сокращатель URL?

Я хочу создать службу сокращения URL-адресов, в которой вы можете записать длинный URL-адрес в поле ввода, а служба сокращает URL-адрес до " http://www.example.org/abcdef". Вместо " abcdef" может быть любая другая строка, содержащая шесть символов a-z, A-Z and 0-9. Это составляет 56 ~ 57 миллиардов...