Публикации по теме 'algorithms'
Поиск золотого сечения - пиковый индекс в горном массиве
Представьте себе массив чисел, в котором существует только одна вершина, как найти такое число и его индекс? Последовательный поиск, вероятно, первое решение, которое приходит нам в голову. Можем ли мы сделать лучше? Да, вероятно, используя двоичный поиск, чтобы уменьшить временную сложность с O(N) до log(N) . Это единственное решение, которое у нас есть? НЕТ… мы могли бы использовать более продвинутый и утонченный подход под названием Поиск золотого сечения .
Вопросы :..
Убер и массивы
Этот пост посвящен очень красивому вопросу из интервью, который однажды задал Uber. Формулировка вопроса следующая:
Учитывая массив целых чисел, верните новый массив, так что каждый элемент в индексе i нового массива является произведением всех чисел в исходном массиве, кроме одного в i.
Например, если наш вход был [1, 2, 3, 4, 5], ожидаемый результат был бы [120, 60, 40, 30, 24]. Если бы наш ввод был [3, 2, 1], ожидаемый результат был бы [2, 3, 6].
Самый простой подход, который..
Решение проблем в искусственном интеллекте
« Рефлекторные агенты известны как самые простые агенты, потому что они напрямую отображают состояния в действия. К сожалению, эти агенты не могут работать в среде, где отображение слишком велико для хранения и изучения. Агент на основе цели , с другой стороны, рассматривает будущие действия и желаемые результаты.
Здесь мы обсудим один тип целевого агента, известный как агент решения проблем , который использует атомарное представление без внутренних состояний, видимых для алгоритмов..
Как написать последовательность Фибоначчи в JavaScript
Ну, спускайся!
Чтобы написать последовательность Фибоначчи на JavaScript, вы можете просто написать console.log(‘Fibonacci Sequence'); правильно? 😛
Кроме того, вы можете использовать цикл для генерации каждого числа в последовательности путем сложения двух предыдущих чисел.
Вот прекрасный пример:
В этом примере функция fibonacciSequence принимает целое число n в качестве входных данных, которое представляет собой количество чисел Фибоначчи, которые необходимо..
Машина опорных векторов — С нуля
Введение
Машина опорных векторов или SVM — это один из самых популярных алгоритмов обучения с учителем, который используется как для задач классификации, так и для задач регрессии. Однако в первую очередь он используется для задач классификации в машинном обучении. SVM отличаются от других алгоритмов классификации тем, как они выбирают границу решения, которая максимизирует расстояние от ближайших точек данных всех классов. Граница решения, созданная SVM, называется классификатором..
Операции на месте (JavaScript Array Edition)
Пока я готовлюсь к техническим собеседованиям, на этой неделе я продолжил изучение популярной техники двух указателей для выполнения операций на месте.
Почему алгоритмы на месте так популярны? Потому что они могут помочь нам сэкономить время и место.
Возьмем, к примеру, следующий метод. Этот алгоритм на месте позволяет избежать затрат на инициализацию или необходимость копирования массива в новый массив со значениями в квадрате или выделения дополнительного пространства для хранения..
Обход графа — Поиск в ширину против поиска в глубину
По мере того, как я продолжаю свое путешествие по разработке программного обеспечения, важность понимания алгоритмов становится все более и более актуальной. Работодатели хотят знать, что вы не просто запоминаете код, но понимаете основы лучших практик кодирования.
Обход графа — распространенный сценарий, с которым вы столкнетесь при работе с большими группами данных. Граф — это нелинейная структура данных, содержащая узлы и ребра. Узел (также известный как вершина) — это единственное..