Arhlit - информационные технологии

Публикации по теме 'algorithms'


Алгоритм быстрой сортировки в Python
Всем привет, добро пожаловать на programminginpython.com . Здесь я покажу вам, как реализовать алгоритм быстрой сортировки в Python. В предыдущих статьях я рассмотрел Сортировку вставкой , Сортировку слиянием , Сортировку по выбору и Сортировку пузырьков . Теперь давайте научимся реализовывать еще один алгоритм сортировки - алгоритм быстрой сортировки. Quicksort - это алгоритм сортировки на месте, что означает, что он не требует какого-либо дополнительного / временного списка..

Самая длинная палиндромная подстрока🖌
Вопрос Получив строку s , вернуть самую длинную палиндромную подстроку в s . Пример 1: Input: s = "babad" Output: "bab" Explanation: "aba" is also a valid answer. Пример 2: Input: s = "cbbd" Output: "bb" Ограничения: 1 <= s.length <= 1000 s состоят только из цифр и английских букв. Java-решение Два разных решения с двумя разными временными сложностями O(n³) Для строки n (где n – размер строки) приведенный ниже код сгенерирует/проверит..

День 5: Задача «Самая длинная подстрока без повторяющихся символов»
День 5: Задача «Самая длинная подстрока без повторяющихся символов» Проблема: Для заданной строки найдите длину самой длинной подстроки без повторяющихся символов. Пример: Input: "pwwkew" Output: 3 Explanation: The answer is "wke" , with the length of 3. Мое решение: class Solution(object): def lengthOfLongestSubstring(self, s): if len(s) <= 1: return len(s); arr = [1 for i in range(len(s))] max_val = 0 for i in..

Введение в бинарный поиск
Предположим, вы ищете человека по имени «Винсент» в одном из этих больших телефонных справочников. Эти книги могут иметь сотни страниц, и было бы утомительно искать каждую страницу с самого начала линейным способом, пока вы не найдете этого человека. К счастью, книга отсортирована по алфавиту, так что мы можем использовать хак. Представьте, что вы открываете книгу посередине. Вы смотрите на страницу и видите имена, начинающиеся с «S». Зная, что «V» стоит после «S», вы разрываете книгу..

Серия упражнений HackerRank: новогодний хаос
Ссылка на проблему: здесь В этой задаче нам дан массив, в котором каждый элемент на позиции обозначает, сколько людей он подкупил, чтобы они пришли на текущую позицию. Например: в q = [1, 4, 2, 3, 5], Мы можем сказать, что 1 и 5 никого не подкупили, следовательно, они находятся в исходном положении. Кроме того, 4 подкупил 2 и 3, чтобы добраться до позиции 2. Также есть условие, что ни один человек не может дать взятку более чем 2 людям. Чтобы решить эту проблему, нам просто нужно..

Алгоритм возврата: основы
Введение Возврат — это концепция, в которой сначала мы выбираем один путь и пытаемся найти ответ, если мы не находим ответ, возвращаемся и пробуем другой путь. Попробуем разобраться на простом примере. Есть актер, который забыл свой телефон в любом из этих домов (A, B, C). Теперь ему нужно найти свой телефон, поэтому он начинает с дома A и проверяет, доступен ли его телефон. Он не нашел свой телефон в доме А, поэтому он возвращается (возвращается туда, откуда начал). Теперь он..

Содержит дубликаты 🌳
Вопрос Дан целочисленный массив nums , вернуть true , если какое-либо значение встречается в массиве не менее двух раз , и вернуть false , если каждый элемент различен. Пример 1: Input: nums = [1,2,3,1] Output: true Пример 2: Input: nums = [1,2,3,4] Output: false Пример 3: Input: nums = [1,1,1,3,3,4,3,2,4,2] Output: true Ограничения: 1 <= nums.length <= 105 -109 <= nums[i] <= 109 Решение Временная сложность O(n²)..

Новые материалы

12 сайтов с искусственным интеллектом, которые поразят вас
Приготовьтесь поразить воображение Сегодня существует несколько веб-сайтов, использующих искусственный интеллект (ИИ). От индивидуальных рекомендаций по новостям до более умных поисковых..

Скрытый технический долг в системах машинного обучения [NeurIPS 2015]
Что такое технический долг? Технический долг — это метафора, введенная Уордом Каннингемом в 1992 году, чтобы объяснить долгосрочные затраты, связанные с быстрым продвижением в разработке..

Алгоритм быстрой сортировки в Python
Всем привет, добро пожаловать на programminginpython.com . Здесь я покажу вам, как реализовать алгоритм быстрой сортировки в Python. В предыдущих статьях я рассмотрел Сортировку вставкой ,..

Как использовать манипулирование объектами в JavaScript
Объекты являются важным строительным блоком JavaScript. Они позволяют группировать свойства и методы вместе. Объект представляет собой набор свойств. Свойства идентифицируются с..

Разработка игр с помощью Godot Engine: мощный инструмент с открытым исходным кодом
Разработка игр — творческий и сложный процесс, требующий множества навыков и инструментов. Одним из наиболее важных инструментов является игровой движок, который представляет собой программную..

От XML к аннотациям: переход к современной конфигурации Spring
Введение Фреймворк Spring претерпел значительную эволюцию с момента своего создания. Одним из заметных изменений стал переход от конфигураций на основе XML к конфигурациям, управляемым..

Я люблю Руби!
Я люблю Руби! Мне это нравится по той же причине, по которой мне нравится программировать на Python. Он настолько интуитивно понятен, а встроенные методы упрощают решение проблем. Если вы..