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


Роман в целое | Leetcode # 13 | Легкий
В этом посте я расскажу о решении проблемы leetcode - преобразовании римского в целое . Проблема: Римские цифры представлены семью разными символами: I , V , X , L , C , D и M . Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1000 Например, 2 записывается римскими цифрами как II , всего две единицы, сложенные вместе. 12 записывается как XII , что означает просто X + II . Число..

Сортировка слиянием: объединение отсортированных подмассивов для сортировки данных
Сортировка является фундаментальной операцией в информатике и используется в различных приложениях, от анализа данных до поисковых алгоритмов. Среди многих алгоритмов сортировки сортировка слиянием выделяется как один из наиболее эффективных и широко используемых методов. Его способность обрабатывать большие наборы данных и поддерживать стабильный порядок сортировки делает его популярным выбором как в академических, так и в практических условиях. В этой статье мы рассмотрим работу..

DSA #4 — Сортировка слиянием
Сортировка слиянием Сортировка слиянием — один из самых важных методов сортировки. Сортировка слиянием использует стратегию «разделяй и властвуй», аналогичную быстрой сортировке. Насколько этот звук похож на вас, настолько он похож. Массив разбивается на крошечные фрагменты до тех пор, пока в каждом отдельном массиве не будет только 1 элемент, и это делается с использованием среднего элемента путем деления левого и правого элементов на 2. И когда в массиве есть только 1 элемент, он в..

Решения С#/Java/Python для вопроса Leetcode: объединение двух отсортированных списков
Источник https://leetcode.com/problems/merge-two-sorted-lists/#/описание Объедините два отсортированных связанных списка и верните его как новый список. Новый список должен быть составлен путем соединения узлов первых двух списков. Мои решения С#/Java/Python: https://github.com/jiajionline/LeetcodeSolutionWithMultipleLanguages/tree/master/Merge%20Two%20Sorted%20Lists

Обход порядка двоичного дерева🚄
Вопрос Учитывая root бинарного дерева, вернуть порядок обхода значений его узлов . (то есть слева направо, уровень за уровнем). Пример 1: Input: root = [3,9,20,null,null,15,7] Output: [[3],[9,20],[15,7]] Пример 2: Input: root = [1] Output: [[1]] Пример 3: Input: root = [] Output: [] Ограничения: Количество узлов в дереве находится в диапазоне [0, 2000] . -1000 <= Node.val <= 1000 Java-решение Временная сложность решения ниже..

Структуры данных и алгоритмы: повторяющиеся значения
Как использовать эффективное решение распространенного вопроса на собеседовании Некоторые вопросы на собеседовании по коду касаются не только поиска решения. Иногда предлагается простой вопрос, чтобы посмотреть, сможет ли человек решить его наиболее эффективным способом. Одним из таких вопросов является проблема повторяющихся значений. По заданному массиву целых чисел найдите первое повторяющееся значение. Например : Первый массив имеет два дубликата, 2 и 3 , но мы хотим..

LeetCode — Сумма комбинаций II
Постановка задачи Имея набор номеров кандидатов (candidates) и целевое число (target) , найдите все уникальные комбинации в candidates , где сумма номеров кандидатов равна цель . Каждое число в кандидатах может использоваться только один раз в комбинации. Примечание . Набор решений не должен содержать повторяющихся комбинаций. Пример 1: Input: candidates = [10, 1, 2, 7, 6, 1, 5], target = 8 Output: [ [1, 1, 6], [1, 2, 5], [1, 7], [2, 6] ] Пример 2: Input:..