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


LeetCode — Подсчет меньших чисел после себя
Постановка задачи Получив массив целых чисел nums , верните целочисленный массив counts, где counts[i] — это количество меньших элементов справа от nums[i] . Постановка задачи взята с: https://leetcode.com/problems/count-of-smaller-numbers-after-self Пример 1: Input: nums = [5, 2, 6, 1] Output: [2, 1, 1, 0] Explanation: To the right of 5 there are 2 smaller elements (2 and 1). To the right of 2 there is only 1 smaller element (1). To the right of 6 there is 1 smaller element..

Освоение конкурентного кодирования: основные шаблоны кода для общих структур данных и алгоритмов -2
Добро пожаловать во вторую часть нашей серии статей, посвященных освоению конкурентного кодирования! В части 1 мы рассмотрели важные шаблоны кода для шаблона «Два указателя: один вход, противоположные концы» и шаблона «Два указателя: два входа, исчерпание обоих». Во второй части мы продолжим наше путешествие по основным шаблонам кода для общих структур данных и алгоритмов. Раздвижное окно Скользящее окно — это распространенный алгоритмический метод, используемый для эффективной..

LeetCode 107. Обход порядка уровней двоичного дерева II
Примечания LeetCode [56]: решение BFS Kotlin Проблема Обход порядка на уровне двоичного дерева II — LeetCode Можете ли вы решить этот реальный вопрос на собеседовании? Обход порядка на уровне двоичного дерева II. Учитывая корень двоичного дерева… leetcode.com Интуиция Примените BFS для выполнения обхода порядка уровней от корня и обратного порядка. Код class Solution { fun levelOrderBottom(root: TreeNode?):..

Раздвижное окно для нубов вроде меня!
Надеюсь, кто-то найдет это полезным. Итак, начнем… Окно визуально можно рассматривать как нечто вроде сканера, который последовательно сканирует элементы (в нашем случае массив). Это логически определяется начальным индексом и конечным индексом. Это логически определяет окно. Например, рассмотрим этот вопрос от Leetcode: Подстроки размера три с разными символами В этом случае, чтобы найти подстроку с различными символами длиной 3, мы могли бы запустить двойной цикл for, но..

Максимальное количество очков, которое можно получить за карты
Есть несколько карт, выстроенных в ряд , и каждая карта имеет соответствующее количество очков. Очки задаются в массиве целых чисел cardPoints . За один шаг можно взять одну карту с начала или с конца ряда. Вы должны взять ровно k карт. Ваш счет - это сумма очков карт, которые вы взяли. Учитывая массив целых чисел cardPoints и целое число k , верните максимальный балл , который вы можете получить. Пример 1: Input: cardPoints = [1,2,3,4,5,6,1], k = 3 Output: 12..

Камеры с двоичным деревом - Ежедневное испытание, май
Камеры с двоичным деревом - Ежедневное испытание, май Сегодняшний вопрос от Daily Leetcode Coding Challenge - May Edition. Это жесткий вопрос. Давайте посмотрим на постановку проблемы. 968 . Камеры двоичного дерева Учитывая двоичное дерево, мы устанавливаем камеры на узлы дерева. Каждая камера в узле может контролировать свою родительскую, саму себя и своих непосредственных дочерних элементов . Вычислите минимальное количество камер, необходимое для наблюдения за всеми..

Конкурс Leetcode раз в две недели 98 самых сложных задач
Это решение задачи 4 Leetcode 98 двухнедельных конкурсов . О других задачах с предыдущих конкурсов можно прочитать здесь . Кажется, это самая сложная задача в этом конкурсе. Проблема Вам даны два массива 0-indexed nums1 и nums2 и двумерный массив запросов queries . Существует три типа запросов: Для запроса типа 1 queries[i] = [1, l, r] . Переверните значения с 0 на 1 и с 1 на 0 в nums1 с индекса l на индекс r . И l , и r имеют индекс 0 . Для..