Вопросы на собеседовании ByteDance

Вопросы по массиву ByteDance

Вопрос 1. Решение LeetCode для непрерывной суммы подмассивов Постановка задачи Непрерывная сумма подмассивов LeetCode Решение. Дан массив целых чисел nums и целое число k, вернуть true, если nums имеет непрерывный подмассив размером не менее двух, сумма элементов которого кратна k, или false в противном случае. Целое число x кратно k, если существует целое число n такое, что x = n * k. 0 всегда...

Подробнее

Вопрос 2. Top K Frequent Elements Решение LeetCode Постановка задачи Top K наиболее часто встречающихся элементов Решение LeetCode Говорит, что – Дан массив целых чисел nums и целое число k, вернуть k наиболее часто встречающихся элементов. Вы можете вернуть ответ в любом порядке. Пример 1: Ввод: nums = [1,1,1,2,2,3], k = 2 Вывод: [1,2] Пример 2: Ввод: nums = [1], k = 1 Вывод: [1] ...

Подробнее

Вопрос 3. Решение с минимальной суммой путей Постановка задачи Минимальная сумма пути Решение LeetCode — «Минимальная сумма пути» говорит, что задана сетка anxm, состоящая из неотрицательных целых чисел, и нам нужно найти путь из верхнего левого угла в нижний правый, который минимизирует сумму всех чисел на пути . Мы можем только двигаться...

Подробнее

Вопрос 4. Вставить Удалить GetRandom O(1) Решение Leetcode Постановка задачи Решение LeetCode Insert Delete GetRandom O(1) — «Insert Delete GetRandom O(1)» просит вас реализовать эти четыре функции с временной сложностью O(1). insert(val): вставить val в рандомизированный набор и вернуть true, если элемент изначально отсутствует в наборе. Возвращает false, когда...

Подробнее

Вопрос 5. Ежедневная температура Решение Leetcode Постановка задачи Ежедневные температуры Решение Leetcode: утверждает, что задан массив целых чисел температуры, представляющих дневные температуры, верните ответ в виде массива, такой что answer[i] - это количество дней, которые вам нужно ждать после i-го дня, чтобы получить более теплую температуру. Если нет будущего дня, для которого это возможно, вместо этого оставьте answer[i] == 0. ...

Подробнее

Вопрос 6. Следующая перестановка Leetcode Solution Постановка задачи Следующая перестановка Решение LeetCode — «Следующая перестановка» утверждает, что задан массив целых чисел, представляющий собой перестановку первых n натуральных чисел. Нам нужно найти следующую лексикографически наименьшую перестановку данного массива. Замена должна быть на месте и использовать только постоянное дополнительное пространство. ...

Подробнее

Вопрос 7. Решение для улавливания дождевой воды Постановка задачи Решение LeetCode для захвата дождевой воды – «Захват дождевой воды» утверждает, что задан массив высот, который представляет собой карту высот, где ширина каждого столбца равна 1. Нам нужно найти количество воды, попавшей в ловушку после дождя. Пример: Ввод: высота = [0,1,0,2,1,0,1,3,2,1,2,1] Вывод: 6 Объяснение: Проверить...

Подробнее

Вопрос 8. Разделение на K подмножеств с равной суммой Решение Leetcode Постановка задачи Разделение на K подмножеств с равной суммой Решение LeetCode — «Разбиение на K подмножеств с равной суммой» утверждает, что вам дан целочисленный массив nums и целое число k, верните true, если возможно иметь k непустых подмножеств, суммы которых все равны. Пример: Ввод: nums = [4,3,2,3,5,2,1], k = 4 Вывод: ...

Подробнее

Вопрос 9. Coin Change 2 Решение для литкода Постановка задачи Размен монет 2 Решение LeetCode — «Раздача монет 2» утверждает, что задан массив монет с различными целыми числами и целое число, представляющее общую сумму денег. Нам нужно вернуть подсчет общего количества различных возможных комбинаций, которые в сумме составляют сумму. ...

Подробнее

Вопрос 10. Решение для прыжка лягушки Постановка задачи Решение LeetCode для прыжка лягушки. «Прыжок лягушки» утверждает, что при наличии списка камней (позиций), отсортированных в порядке возрастания, определить, может ли лягушка пересечь реку, приземлившись на последний камень (последний индекс массива). Изначально лягушка находится на первом камне и...

Подробнее

Вопрос 11. Комбинированное решение Leetcode Комбинированная сумма задачи Leetcode Solution предоставляет нам массив или список целых чисел и цель. Нам говорят найти комбинации, которые можно составить, используя эти целые числа, любое количество раз, которое в сумме дает заданную цель. Итак, более формально, мы можем использовать данный ...

Подробнее

Вопрос 12. Максимальное решение Leetcode для подмассивов Постановка задачи. Для целочисленного массива nums найдите непрерывный подмассив (содержащий хотя бы одно число) с наибольшей суммой и верните его сумму. Пример: nums = [-2,1, -3,4, -1,2,1, -5,4] 6 Объяснение: [4, -1,2,1] имеет наибольшую сумму = 6. nums = [- 1] -1 Подход 1 (Разделяй и властвуй) В этом подходе ...

Подробнее

Вопрос 13. Уникальное решение Leetcode Paths Проблема Уникальные пути Leetcode Solution утверждает, что вам даны два целых числа, представляющих размер сетки. Используя размер сетки, длину и ширину сетки. Нам нужно найти количество уникальных путей от верхнего левого угла сетки до ...

Подробнее

Вопрос 14. Решение Leetcode для объединения отсортированных массивов В задаче «Объединить отсортированные массивы» нам даны два массива, отсортированных в порядке убывания. Первый массив заполнен не полностью, и в нем достаточно места для размещения всех элементов второго массива. Мы должны объединить два массива так, чтобы первый массив содержал элементы ...

Подробнее

Вопрос 15. Поиск в решении Leetcode с вращающимся отсортированным массивом Рассмотрим отсортированный массив, но был выбран один индекс, и в этой точке массив был повернут. Теперь, когда массив был повернут, вам необходимо найти конкретный целевой элемент и вернуть его индекс. В случае, если элемент отсутствует, верните -1. Проблема в общем ...

Подробнее

Вопрос 16. K-й по величине элемент в массиве Leetcode Solutions В этой задаче мы должны вернуть k-й по величине элемент в несортированном массиве. Обратите внимание, что в массиве могут быть дубликаты. Итак, мы должны найти K-й по величине элемент в отсортированном порядке, а не отдельный K-й по величине элемент. Пример A = {4, 2, 5, 3 ...

Подробнее

Вопрос 17. Найти первую и последнюю позицию элемента в решении Leetcode для отсортированного массива Постановка задачи В этой статье, озаглавленной «Найти первую и последнюю позицию элемента в решении Leetcode для отсортированного массива», мы обсудим решение проблемы Leetcode. В данной задаче нам дан массив. Нам также дается целевой элемент. Элементы в массиве упорядочены по ...

Подробнее

Вопрос 18. Подсчитайте все подпоследовательности, у которых произведение меньше K Задача «Подсчитать все подпоследовательности, имеющие продукт меньше K» утверждает, что вам дан массив целых чисел. Теперь найдите количество подпоследовательностей, у которых продукт меньше заданного входного K. Пример a [] = {1, 2, 3, 4, 5} k = 8 Количество подпоследовательностей меньше ...

Подробнее

Вопрос 19. Распечатать измененный массив после выполнения команд сложения и вычитания Вам дан массив размера n, изначально все значения в массиве будут 0, а запросы. Каждый запрос содержит четыре значения, тип запроса T, левую точку диапазона, правую точку диапазона и число k, вы должны ...

Подробнее

Вопрос 20. Лучшее время для покупки и продажи акций Постановка задачи Задача «Лучшее время для покупки и продажи акций» утверждает, что вам дан массив цен длины n, где в i-м элементе хранится цена акций на i-й день. Если мы сможем совершить только одну транзакцию, то есть купить в один день и ...

Подробнее

Вопрос 21. K наиболее часто встречающихся элементов Постановка задачи В топ-K часто встречающихся элементов мы дали массив nums [], найдите k наиболее часто встречающихся элементов. Примеры nums [] = {1, 1, 1, 2, 2, 3} k = 2 1 2 nums [] = {1} k = 1 1 Наивный подход для сборки наиболее часто встречающихся элементов K ...

Подробнее

Вопрос 22. Сумма минимального и максимального элементов всех подмассивов размера k Постановка задачи Задача «Сумма минимальных и максимальных элементов всех подмассивов размера k» ​​утверждает, что вам дан массив, содержащий положительные и отрицательные целые числа, найдите сумму минимальных и максимальных элементов всех подмассивов размера k. Примеры arr [] = {5, 9, 8, 3, ...

Подробнее

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

Подробнее

Вопрос 24. Подмножество Leetcode В задаче Subset Leetcode мы дали набор различных целых чисел, nums, вывести все подмножества (набор мощности). Примечание. Набор решений не должен содержать повторяющихся подмножеств. Массив A является подмножеством массива B, если a можно получить из B, удалив некоторые (возможно, ноль ...

Подробнее

Вопрос 25. Слова поиска Поиск слов - это что-то вроде головоломок с поиском слов, когда-то в нашей жизни. Сегодня я предлагаю к столу модифицированный кроссворд. Мои читатели должны быть немного озадачены тем, о чем я говорю. Не теряя времени, перейдем к постановке задачи Может ...

Подробнее

Вопрос 26. Медиана двух отсортированных массивов Даны два отсортированных массива A и B размера n и m соответственно. Найдите медиану окончательного отсортированного массива, полученного после слияния данных двух массивов, или, другими словами, мы говорим, что найдите медиану двух отсортированных массивов. (Ожидаемая временная сложность: O (log (n))) Подход 1 для ...

Подробнее

Вопрос 27. Поиск элемента в отсортированном повернутом массиве В задаче поиска в отсортированном повернутом массиве мы дали отсортированный и повернутый массив и элемент, проверьте, присутствует ли данный элемент в массиве или нет. Примеры Входные числа [] = {2, 5, 6, 0, 0, 1, 2} target = 0 Выходные данные true Входные числа [] = {2, ...

Подробнее

Вопрос 28. Искать в отсортированном повернутом массиве Поиск элемента в отсортированном повернутом массиве можно найти с помощью двоичного поиска за время O (logn). Цель этой публикации - найти заданный элемент в отсортированном повернутом массиве за время O (logn). Приведен пример отсортированного повернутого массива. Пример ввода: arr [] = {7,8,9,10,1,2,3,5,6}; ...

Подробнее

Вопрос 29. Максимальный подмассив В задаче «Максимальный подмассив» мы задали целочисленный массив nums, находим непрерывный подмассив с наибольшей суммой и выводим максимальное значение подмассива суммы. Пример Входные числа [] = {-2, 1, -3, 4, -1, 2, 1, -5, 4} Выход 6 Алгоритм Цель состоит в том, чтобы найти ...

Подробнее

Вопрос 30. Найти пиковый элемент Давайте разберемся с проблемой Find Peak Element. Сегодня у нас есть массив, которому нужен свой пиковый элемент. Теперь вам должно быть интересно, что я имею в виду под пиковым элементом? Пиковый элемент - это тот, который больше всех своих соседей. Пример: дан массив ...

Подробнее

Вопрос 31. Проблема с заменой монеты Проблема смены монеты - Даны монеты разного достоинства c1, c2,…, cs (например: 1,4,7….). Нам нужна сумма n. Используйте эти данные монеты, чтобы сформировать сумму n. Вы можете использовать монету сколько угодно раз. Найдите общее количество способов, которыми ...

Подробнее

Вопрос 32. Максимальная сумма подмассива с использованием функции Divide and Conquer Постановка задачи В задаче «Максимальная сумма подмассива с использованием функции« разделяй и властвуй »» мы дали массив как положительных, так и отрицательных целых чисел. Напишите программу, которая найдет наибольшую сумму непрерывного подмассива. Формат ввода Первая строка содержит целое число N. Вторая строка содержит массив ...

Подробнее

Вопрос 33. Расставьте заданные числа так, чтобы получилось наибольшее число II Постановка задачи В задаче «Упорядочить заданные числа для образования наибольшего числа II» мы дали массив положительных целых чисел. Расставьте их так, чтобы аранжировка составляла наибольшую ценность. Формат ввода Первая и единственная строка, содержащая целое число n. Вторая строка содержит ...

Подробнее

Вопрос 34. Подпоследовательность увеличения максимальной суммы Постановка задачи В задаче «Подпоследовательность увеличения максимальной суммы» мы дали массив. Найдите сумму максимальной подпоследовательности данного массива, то есть целые числа в подпоследовательности находятся в отсортированном порядке. Подпоследовательность - это часть массива, который представляет собой последовательность, которая ...

Подробнее

Вопрос 35. Найдите пиковый элемент из массива Постановка задачи В задаче «Найти пиковый элемент из массива» мы дали входной массив целых чисел. Найдите пиковый элемент. В массиве элемент является пиковым элементом, если этот элемент больше, чем оба соседних элемента. Для угловых элементов мы можем рассматривать только ...

Подробнее

Вопрос 36. Проблема с разделом Постановка задачи В задаче о разбиении мы дали набор, содержащий n элементов. Выясните, можно ли разделить данный набор на два набора, сумма элементов в подмножествах которых равна. Пример Входные данные arr [] = {4, 5, 11, 9, 8, 3} Выходные данные Да Пояснение Массив ...

Подробнее

Вопрос 37. Подмассив с заданной суммой Постановка задачи. В подмассиве с заданной задачей суммы мы дали массив, содержащий n положительных элементов. Мы должны найти подмассив, в котором сумма всех элементов подмассива равна given_sum. Подмассив получается из исходного массива путем удаления некоторых ...

Подробнее

Вопрос 38. Объединить два отсортированных массива Постановка задачи В задаче слияния двух отсортированных массивов мы дали два отсортированных входных массива, нам нужно объединить эти два массива так, чтобы начальные числа после полной сортировки должны были быть в первом массиве и оставались во втором массиве. Пример ввода A [] = {1, 3, 5, 7, ...

Подробнее

Вопрос 39. Количество троек с суммой меньше заданного значения Постановка задачи. Мы дали массив, содержащий N элементов. В данном массиве Подсчитайте количество троек с суммой меньше заданного значения. Пример Входные данные a [] = {1, 2, 3, 4, 5, 6, 7, 8} Sum = 10 Выход 7 Возможные тройки: ...

Подробнее

Вопрос 40. Объединение двух отсортированных массивов Постановка задачи В задаче слияния двух отсортированных массивов мы дали два отсортированных массива: один с размером m + n, а другой - с размером n. Мы объединим массив размером n в массив размером m + n и напечатаем объединенный массив размером m + n. Пример ввода 6 3 M [] = ...

Подробнее

Вопрос 41. Найти триплет в массиве с заданной суммой Постановка задачи. Для массива целых чисел найдите комбинацию из трех элементов в массиве, сумма которых равна заданному значению X. Здесь мы напечатаем первую полученную комбинацию. Если такой комбинации нет, выведите -1. Пример ввода N = 5, X = 15 arr [] = ...

Подробнее

Вопрос 42. Наименьшее положительное число, отсутствующее в несортированном массиве Постановка задачи В данном несортированном массиве найдите наименьшее положительное число, отсутствующее в несортированном массиве. Положительное целое число не включает 0. При необходимости мы можем изменить исходный массив. Массив может содержать положительные и отрицательные числа. Пример а. Входной массив: [3, 4, -1, 0, -2, 2, 1, ...

Подробнее

Вопрос 43. Переместить все нули в конец данного массива Постановка задачи В данном массиве переместите все нули, которые присутствуют в массиве, в конец массива. Здесь всегда есть способ вставить все нули в конец массива. Пример ввода 9 9 17 0 14 0 ...

Подробнее

Вопрос 44. Подсчитать количество вхождений в отсортированном массиве Постановка задачи В задаче «Подсчитать количество вхождений в отсортированном массиве» мы дали отсортированный массив. Подсчитайте количество вхождений или частоту в отсортированном массиве X, где X - целое число. Пример ввода 13 1 2 2 2 2 3 3 3 4 4 ...

Подробнее

Вопрос 45. Головоломка с массивом продуктов Постановка задачи. В задаче загадки массива товаров нам нужно построить массив, где i-й элемент будет произведением всех элементов в данном массиве, кроме элемента в i-й позиции. Пример входных данных 5 10 3 5 6 2 выходных данных 180 ...

Подробнее

Вопрос 46. Элемент большинства Постановка проблемы. Для отсортированного массива нам нужно найти элемент большинства из отсортированного массива. Элемент большинства: число, превышающее половину размера массива. Здесь мы указали число x, которое нужно проверить, является ли этот элемент мажоритарным_элементом или нет. Пример ввода 5 2 ...

Подробнее

Строковые вопросы ByteDance

Вопрос 47. Оценка скобок Решение LeetCode Постановка задачи Оценка скобок Решение LeetCode гласит: Дана сбалансированная строка скобок s и возвращено максимальное количество баллов. Оценка сбалансированной строки скобок основана на следующих правилах: «()» имеет оценку 1. AB имеет оценку A + B, где A и B — сбалансированные строки скобок. (A) имеет оценку 2 * A, где A - это...

Подробнее

Вопрос 48. Дизайн Структура данных добавления и поиска слов LeetCode Solution Постановка задачи: разработка структуры данных для добавления и поиска слов. LeetCode Solution говорит: спроектируйте структуру данных, которая поддерживает добавление новых слов и поиск совпадений строки с какой-либо ранее добавленной строкой. Реализуйте класс WordDictionary: WordDictionary() Инициализирует объект. void addWord(word) Добавляет слово в структуру данных, оно может быть сопоставлено позже. bool search(word) Возвращает true, если есть...

Подробнее

Вопрос 49. Расшифровать строку Leetcode Solution Постановка проблемы Декодирование строки Решение LeetCode — «Декодирование строки» предлагает вам преобразовать закодированную строку в декодированную строку. Правило кодирования — k[encoded_string], где encoded_string внутри квадратных скобок повторяется ровно k раз, где k — положительное целое число. Пример: Ввод: s = "3[a]2[bc]" Вывод: "aaabcbc" ...

Подробнее

Вопрос 50. Различные способы добавления скобок Решение Leetcode Постановка задачи Различные способы добавления круглых скобок Решение LeetCode — «Различные способы добавления круглых скобок» утверждает, что задано строковое выражение, состоящее из чисел и операторов. Нам нужно вернуть все возможные результаты вычислений всеми возможными способами группировки чисел и операторов. Верните ответ в любом порядке. ...

Подробнее

Вопрос 51. Генерация скобок Решение Leetcode Постановка задачи Создание скобок Решение LeetCode — «Создание скобок» утверждает, что при заданном значении n. Нам нужно сгенерировать все комбинации из n пар скобок. Верните ответ в виде вектора строк правильных скобок. Пример: Ввод: n = 3 Вывод: ["((()))","(()())","(())()","()(())","()( )()"] Объяснение: ...

Подробнее

Вопрос 52. Решение с наибольшим числом литкодов Постановка задачи Самое большое число Решение LeetCode — «Наибольшее число» утверждает, что, имея список неотрицательных целых чисел, нам нужно упорядочить числа таким образом, чтобы они образовывали наибольшее число и возвращали его. Так как результат может быть очень большим, поэтому нужно вернуть...

Подробнее

Вопрос 53. Реализовать решение Leetcode Trie (дерево префиксов) Постановка задачи Решение LeetCode по внедрению Trie (дерева префиксов) — «Реализовать Trie (дерево префиксов)» предлагается реализовать структуру данных Trie, которая эффективно выполняет вставку, поиск и поиск по префиксу. Пример: Ввод: ["Trie", "insert", "search", "search", "startsWith", "insert", "search"] [[], ["apple"], ["apple"], [ "приложение"], ["приложение"], ["приложение"], ["приложение"]] Вывод: [null, null, true, false, true, null, true] Объяснение: после вставки всех строк trie выглядит как это. Ищется слово яблоко, которое...

Подробнее

Вопрос 54. Удалить недопустимые скобки Решение Leetcode Постановка задачи. Решение Leetcode для удаления недопустимых круглых скобок. Указывает, что вам дана строка s, содержащая круглые скобки и строчные буквы. Нам нужно удалить минимальное количество недопустимых скобок, чтобы входная строка стала допустимой. Нам нужно вернуть все возможные результаты в любом порядке. Строка - это...

Подробнее

Вопрос 55. Решение Leetcode для умножения строк Задача «Умножение строк». Решение Leetcode просит нас умножить две строки, которые передаются нам в качестве входных данных. Мы должны распечатать или вернуть этот результат умножения вызывающей функции. Таким образом, говоря более формально, данные две строки, найдите произведение данных строк. ...

Подробнее

Вопрос 56. Самая длинная повторяющаяся подпоследовательность Задача «Самая длинная повторяющаяся подпоследовательность» заключается в том, что вам на входе дана строка. Найдите самую длинную повторяющуюся подпоследовательность, то есть подпоследовательность, которая существует дважды в строке. Пример подхода aeafbdfdg 3 (afd) Задача просит нас найти самую длинную повторяющуюся подпоследовательность в строке. ...

Подробнее

Вопрос 57. Самая длинная подстрока без повторяющихся символов Решение LeetCode Самая длинная подстрока без повторяющихся символов Решение LeetCode. Учитывая строку, мы должны найти длину самой длинной подстроки без повторяющихся символов. Давайте рассмотрим несколько примеров: Пример pwwkew 3 Объяснение: Ответ — «wke» длины 3 aav 2 Объяснение: Ответ — «av» длины 2 Подход-1 ...

Подробнее

Вопрос 58. Запросы подстроки палиндрома Постановка проблемы Задача «Запросы подстроки палиндрома» утверждает, что вам дана строка и несколько запросов. С помощью этих запросов вы должны определить, является ли сформированная подстрока из этого запроса палиндромом или нет. Пример строки str = "aaabbabbaaa" Запросы q [] = {{2, 3}, {2, 8}, {5, 7}, ...

Подробнее

Вопрос 59. Максимальное преобразование веса данной строки Постановка задачи Преобразование максимального веса данной строковой задачи утверждает, что данная строка состоит только из двух символов «A» и «B». У нас есть операция, в которой мы можем преобразовать строку в другую, переключая любой символ. Таким образом, возможно множество преобразований. Из всего возможного ...

Подробнее

Вопрос 60. Изменить расстояние В задаче расстояния редактирования мы должны найти минимальное количество операций, необходимых для преобразования строки X длины n в другую строку Y длины m. Разрешенные операции: Вставка Удаление Удаление Пример Подстановки Входные данные: String1 = «abcd» String2 = «abe» Выходные данные: Минимальное количество требуемых операций - 2 (...

Подробнее

Вопрос 61. Строка декодирования Предположим, вам дана закодированная строка. Строка закодирована по какому-то шаблону, ваша задача - расшифровать строку. Скажем, <количество раз, когда встречается строка> [строка] Пример Входные данные 3 [b] 2 [bc] Выходные данные bbbcaca Объяснение Здесь «b» встречается 3 раза, а «ca» - 2 раза. ...

Подробнее

Вопрос 62. Следующая перестановка В следующей задаче о перестановке мы дали слово, найдите его лексикографически большую_перестановку. Пример ввода: str = "tutorialcup" вывод: tutorialpcu ввод: str = "nmhdgfecba" вывод: nmheabcdfg ввод: str = "алгоритмы" вывод: ввод алгоритма: str = "ложечка" вывод: следующая перестановка ...

Подробнее

Вопрос 63. Допустимые скобки Решение LeetCode В задаче допустимых скобок LeetCode мы дали строку, содержащую только символы '(', ')', '{', '}', '[' и ']', чтобы определить, действительна ли входная строка. Здесь мы предоставим вам решение LeetCode с допустимыми скобками. Входная строка действительна, если: Открытые скобки должны быть закрыты...

Подробнее

Вопрос 64. Перестановки заданной строки с помощью STL Постановка задачи В задаче «Перестановки заданной строки с помощью STL» мы задали строку «s». Распечатайте все перестановки входной строки с помощью функций STL. Формат ввода Первая и единственная строка, содержащая строку «s». Формат вывода Вывести все перестановки заданного ...

Подробнее

Вопрос 65. Длина самой длинной действительной подстроки Постановка проблемы В поле «Длина самой длинной действительной подстроки» мы указали строку, содержащую только открывающую и закрывающую круглые скобки. Напишите программу, которая найдет самую длинную допустимую подстроку в круглых скобках. Формат ввода Первая и единственная строка, содержащая строку s. Формат вывода Первые и ...

Подробнее

Вопрос 66. Наименьшее окно в строке, содержащее все символы другой строки Найти самую короткую подстроку в данной строке, которая содержит все символы данного слова, или Найти наименьшее окно в строке, содержащей все символы другой строки. Для заданных двух строк s и t напишите функцию, которая найдет минимальное окно в s, которое будет ...

Подробнее

Вопрос 67. Расставьте заданные числа так, чтобы получилось наибольшее число II Постановка задачи В задаче «Упорядочить заданные числа для образования наибольшего числа II» мы дали массив положительных целых чисел. Расставьте их так, чтобы аранжировка составляла наибольшую ценность. Формат ввода Первая и единственная строка, содержащая целое число n. Вторая строка содержит ...

Подробнее

Вопросы по дереву ByteDance

Вопрос 68. Обход вертикального порядка двоичного дерева Решение LeetCode Постановка задачи Обход двоичного дерева в вертикальном порядке Решение LeetCode говорит: Учитывая корень двоичного дерева, вычислите обход двоичного дерева в вертикальном порядке. Для каждого узла в позиции (строка, столбец) его левый и правый потомки будут в позициях (строка + 1, столбец - 1) и (строка + 1, столбец + 1) соответственно. ...

Подробнее

Вопрос 69. Преобразование двоичного дерева в связанный список Решение LeetCode Свести двоичное дерево к связанному списку Решение LeetCode говорит, что — Учитывая корень двоичного дерева, сведите дерево в «связанный список»: «связанный список» должен использовать тот же класс TreeNode, где правый дочерний указатель указывает на следующий узел в списке, а левый дочерний указатель всегда нулевой. "Связанный список"...

Подробнее

Вопрос 70. Наименьший общий предок решения Leetcode для двоичного дерева Постановка задачи Наименьший общий предок двоичного дерева Решение LeetCode — «Наименьший общий предок двоичного дерева» утверждает, что заданы корень двоичного дерева и два узла дерева. Нам нужно найти наименьшего общего предка этих двух узлов. Самый низкий общий...

Подробнее

Вопрос 71. Удалить узлы и вернуть решение Forest Leetcode Постановка задачи Решение LeetCode «Удалить узлы и вернуть лес» — «Удалить узлы и вернуть лес» утверждает, что задан корень двоичного дерева, где каждый узел имеет отдельное значение. Нам также дан массив to_delete, где нам нужно удалить все узлы со значениями, содержащимися в...

Подробнее

Вопрос 72. Решение для восстановления двоичного дерева поиска Leetcode Постановка задачи Восстановление двоичного дерева поиска Решение LeetCode — «Восстановление двоичного дерева поиска» утверждает, что задан корень двоичного дерева поиска, где значения ровно двух узлов поменяны местами по ошибке. Нам нужно восстановить дерево без изменения его структуры. Пример: Ввод: root = [1,3,null,null,2] Вывод: [3,1,null,null,2] ...

Подробнее

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

Подробнее

Вопрос 74. Преобразовать BST в Min Heap Постановка проблемы. Имея полное двоичное дерево поиска, напишите алгоритм для преобразования его в минимальную кучу, которая должна преобразовать BST в минимальную кучу. Минимальная куча должна быть такой, чтобы значения слева от узла были меньше значений справа ...

Подробнее

Вопрос 75. Преобразование обычного BST в сбалансированный BST Постановка проблемы. Для данного двоичного дерева поиска (BST) напишите алгоритм для преобразования BST в сбалансированное двоичное дерево поиска. Сбалансированное дерево двоичного поиска - это не что иное, как дерево двоичного поиска, разница между высотой левого поддерева и правого поддерева которого меньше или равна 1. ...

Подробнее

Вопрос 76. Построить двоичное дерево из заданных обходов в порядке и в порядке следования В этой задаче у нас есть порядок и предварительный порядок двоичного дерева. Нам нужно построить двоичное дерево из заданных обходов Inorder и Preorder. Пример ввода: Inorder = [D, B, E, A, F, C] Preorder = [A, B, D, E, C, F] Вывод: предварительный обход дерева, образованного ...

Подробнее

Вопрос 77. Восстановить двоичное дерево поиска Рассмотрим двоичное дерево поиска, два узла дерева поменялись местами, разработайте алгоритм для восстановления двоичного дерева поиска. Пример. Рассмотрим приведенное ниже двоичное дерево поиска, два узла которого поменялись местами в качестве входных данных. Некорректные узлы на BST обнаруживаются (выделены) и затем меняются местами для получения ...

Подробнее

Вопрос 78. Проверить дерево двоичного поиска Проблема В задаче «Проверить дерево двоичного поиска» мы указали корень дерева, мы должны проверить, является ли это деревом двоичного поиска или нет. Пример: Выход: true Объяснение: Данное дерево является двоичным деревом поиска, потому что все элементы, оставленные для каждого поддерева ...

Подробнее

ByteDance Граф Вопросы

Вопрос 79. Является ли граф двудольным? Решение LeetCode Постановка задачи является двудольным графом Решение LeetCode. Существует неориентированный граф с n узлами, где каждый узел пронумерован от 0 до n - 1. Вам дан двумерный граф-массив, где graph[u] - это массив узлов, которые узел u находится рядом с. Более формально, для каждого v в графе [u] существует неориентированное ребро между узлом u и узлом v. Граф имеет ...

Подробнее

Вопросы о стеке ByteDance

Вопрос 80. Оценка скобок Решение LeetCode Постановка задачи Оценка скобок Решение LeetCode гласит: Дана сбалансированная строка скобок s и возвращено максимальное количество баллов. Оценка сбалансированной строки скобок основана на следующих правилах: «()» имеет оценку 1. AB имеет оценку A + B, где A и B — сбалансированные строки скобок. (A) имеет оценку 2 * A, где A - это...

Подробнее

Вопрос 81. Расшифровать строку Leetcode Solution Постановка проблемы Декодирование строки Решение LeetCode — «Декодирование строки» предлагает вам преобразовать закодированную строку в декодированную строку. Правило кодирования — k[encoded_string], где encoded_string внутри квадратных скобок повторяется ровно k раз, где k — положительное целое число. Пример: Ввод: s = "3[a]2[bc]" Вывод: "aaabcbc" ...

Подробнее

Вопрос 82. Преобразование двоичного дерева в связанный список Решение LeetCode Свести двоичное дерево к связанному списку Решение LeetCode говорит, что — Учитывая корень двоичного дерева, сведите дерево в «связанный список»: «связанный список» должен использовать тот же класс TreeNode, где правый дочерний указатель указывает на следующий узел в списке, а левый дочерний указатель всегда нулевой. "Связанный список"...

Подробнее

Вопрос 83. Добавить решение для двух чисел II Leetcode Постановка задачи Решение LeetCode «Добавить два числа II» — «Добавить два числа II» утверждает, что два непустых связанных списка представляют два неотрицательных целых числа, в которых старшая значащая цифра идет первой, а каждый узел содержит ровно одну цифру. Нам нужно сложить два числа и вернуть сумму как...

Подробнее

Вопрос 84. Ежедневная температура Решение Leetcode Постановка задачи Ежедневные температуры Решение Leetcode: утверждает, что задан массив целых чисел температуры, представляющих дневные температуры, верните ответ в виде массива, такой что answer[i] - это количество дней, которые вам нужно ждать после i-го дня, чтобы получить более теплую температуру. Если нет будущего дня, для которого это возможно, вместо этого оставьте answer[i] == 0. ...

Подробнее

Вопрос 85. Решение для улавливания дождевой воды Постановка задачи Решение LeetCode для захвата дождевой воды – «Захват дождевой воды» утверждает, что задан массив высот, который представляет собой карту высот, где ширина каждого столбца равна 1. Нам нужно найти количество воды, попавшей в ловушку после дождя. Пример: Ввод: высота = [0,1,0,2,1,0,1,3,2,1,2,1] Вывод: 6 Объяснение: Проверить...

Подробнее

Вопрос 86. Строка декодирования Предположим, вам дана закодированная строка. Строка закодирована по какому-то шаблону, ваша задача - расшифровать строку. Скажем, <количество раз, когда встречается строка> [строка] Пример Входные данные 3 [b] 2 [bc] Выходные данные bbbcaca Объяснение Здесь «b» встречается 3 раза, а «ca» - 2 раза. ...

Подробнее

Вопросы по очереди ByteDance

Вопрос 87. Сумма минимального и максимального элементов всех подмассивов размера k Постановка задачи Задача «Сумма минимальных и максимальных элементов всех подмассивов размера k» ​​утверждает, что вам дан массив, содержащий положительные и отрицательные целые числа, найдите сумму минимальных и максимальных элементов всех подмассивов размера k. Примеры arr [] = {5, 9, 8, 3, ...

Подробнее

Вопрос 88. Реконструкция очереди по высоте Описание проблемы реконструкции очереди по высоте Предположим, у вас есть случайный список людей, стоящих в очереди. Каждый человек описывается парой целых чисел (h, k), где h - рост человека, а k - количество людей перед этим человеком ...

Подробнее

Вопросы о матрице ByteDance

Вопрос 89. Решение с минимальной суммой путей Постановка задачи Минимальная сумма пути Решение LeetCode — «Минимальная сумма пути» говорит, что задана сетка anxm, состоящая из неотрицательных целых чисел, и нам нужно найти путь из верхнего левого угла в нижний правый, который минимизирует сумму всех чисел на пути . Мы можем только двигаться...

Подробнее

Вопрос 90. Решение Leetcode для поиска слов Постановка задачи. Для доски mxn и слова найдите, существует ли это слово в сетке. Слово может быть составлено из букв последовательно соседних ячеек, где «соседние» ячейки соседствуют по горизонтали или вертикали. Одна и та же буквенная ячейка не может использоваться более одного раза. Пример ...

Подробнее

ByteDance Другие вопросы

Вопрос 91. Диапазон Сумма решения BST LeetCode Range Sum of BST LeetCode Solution говорит, что — учитывая корень, узел двоичного дерева поиска и два целых числа, низкий и высокий, верните сумму значений всех узлов со значением в инклюзивном диапазоне [низкий, высокий]. Пример 1: Ввод: root = [10,5,15,3,7,null,18], low = 7, high = 15 Вывод: 32 Объяснение: ...

Подробнее

Вопрос 92. Решение обратного целочисленного литкода Постановка задачи Обратное целое LeetCode Solution говорит, что: – Учитывая 32-разрядное целое число x со знаком, верните x с перевернутыми цифрами. Если изменение x приводит к тому, что значение выходит за пределы диапазона 32-разрядных целых чисел со знаком [-231, 231 - 1], тогда возвращается 0. Предположим, что среда не позволяет хранить 64-разрядные целые числа (со знаком или без знака). Пример 1: ...

Подробнее

Вопрос 93. Найти K ближайших элементов Решение LeetCode Постановка задачи Найти K ближайших элементов LeetCode Решение. Дан отсортированный массив целых чисел arr, два целых числа k и x, вернуть k целых чисел, ближайших к x в массиве. Результат также должен быть отсортирован в порядке возрастания. Целое число a ближе к x, чем целое число b, если: |a - x| < |b - x| или |a - x| == |б - ...

Подробнее

Вопрос 94. Действительный номер треугольника Решение LeetCode Постановка задачи: Допустимый номер треугольника. LeetCode Solution гласит: Дан массив целых чисел nums, вернуть количество троек, выбранных из массива, из которых можно составить треугольники, если мы возьмем их как длины сторон треугольника. Пример 1: Ввод: nums = [2,2,3,4] Вывод: 3 Объяснение: Допустимые комбинации: 2,3,4 (используя ...

Подробнее

Вопрос 95. Нечетно-четный связанный список Решение Leetcode Постановка задачи. Четно-нечетный связанный список. Решение LeetCode. «Четно-нечетный связанный список» утверждает, что задан непустой односвязный список. Нам нужно сгруппировать все узлы с нечетными индексами вместе, за которыми следуют узлы с четными индексами, и вернуть переупорядоченный список. Обратите внимание, что относительный порядок внутри обоих...

Подробнее

Вопрос 96. Робот-пылесос Leetcode Solution Постановка задачи Робот-уборщик комнаты Решение LeetCode — «Робот-уборщик комнаты» утверждает, что задан робот в двоичной сетке amxna, где 0 представляет собой стену, а 1 — пустой слот. Начальная позиция робота гарантированно пуста и робот движется внутри...

Подробнее

Вопрос 97. Решение LRU Cache Leetcode Постановка задачи Кэш LRU Решение LeetCode – «Кэш LRU» просит вас спроектировать структуру данных, которая следует за кэшем наименее недавно использовавшихся (LRU) Нам необходимо реализовать класс LRUCache со следующими функциями: LRUCache(int capacity): Инициализирует кэш LRU с положительной размерной емкостью. int get(int key): вернуть значение...

Подробнее

Вопрос 98. Слияние отсортированных списков Решение Leetcode Постановка задачи Объединить k отсортированных списков Решение LeetCode — «Объединить k отсортированных списков» утверждает, что задан массив из k связанных списков, где значения каждого связанного списка отсортированы в порядке возрастания. Нам нужно объединить все k-связанные списки в один связанный список и вернуть...

Подробнее

Вопрос 99. Удаление дубликатов из отсортированного списка Решение LeetCode Постановка задачи Удаление дубликатов из отсортированного списка LeetCode Решение. Нам дан заголовок отсортированного связанного списка. Нас просят удалить все дубликаты, чтобы каждый элемент появлялся только один раз, а также возвращал отсортированный связанный список. Примеры и пояснения Пример 1: Ввод: голова ...

Подробнее

Вопрос 100. Решение LeetCode для клонирования графа Постановка задачи Клонирование графа LeetCode Решение. Нам дают ссылку на узел в связном неориентированном графе и просят вернуть глубокую копию графа. Глубокая копия - это, по сути, клон, в котором ни один узел, присутствующий в глубокой копии, не должен иметь ссылку...

Подробнее

Вопрос 101. K-й наименьший элемент в отсортированной матрице Решение LeetCode Постановка задачи K-й наименьший элемент в отсортированной матрице Решение LeetCode. Нам дана матрица размера n, в которой каждая из строк и столбцов отсортирована в порядке возрастания. Нас просят вернуть k-й наименьший элемент в матрице. Обратите внимание, что это kth ...

Подробнее

Вопрос 102. Количество бросков игральных костей с целевой суммой Решение LeetCode Постановка задачи Количество бросков игральных костей с заданной суммой. Решение LeetCode. У вас есть n игральных костей, и каждая из них имеет k граней, пронумерованных от 1 до k. Имея три целых числа n, k и цель, верните количество возможных способов (из общего числа способов) бросить кости так, чтобы сумма чисел, выпавших лицом вверх, равнялась цели. Поскольку ответ может быть...

Подробнее

Вопрос 103. Удаление дубликатов из отсортированного списка II Решение LeetCode Постановка задачи Удаление дубликатов из отсортированного списка II Решение LeetCode. Учитывая начало отсортированного связанного списка, удалите все узлы с повторяющимися номерами, оставив только отдельные номера из исходного списка. Возвращает также отсортированный связанный список. Ввод: голова = [1,2,3,3,4,4,5] Вывод: [1,2,5] Пояснение Идея состоит в том, чтобы пройти...

Подробнее

Вопрос 104. Кратчайший путь в сетке с устранением препятствий Решение LeetCode Постановка задачи Кратчайший путь в сетке с устранением препятствий. LeetCode Решение. Вам дана сетка целочисленной матрицы mxn, в которой каждая ячейка либо 0 (пустая), либо 1 (препятствие). Вы можете перемещаться вверх, вниз, влево или вправо от и к пустой ячейке за один шаг. Возвращает минимальное количество шагов, чтобы пройти от верхнего левого...

Подробнее

Вопрос 105. Инвертировать двоичное дерево Решение LeetCode Постановка задачи: инвертировать бинарное дерево. Решение LeetCode. В этом вопросе, учитывая корень любого бинарного дерева, требуется решение для инвертирования бинарного дерева, что означает, что левое дерево должно стать правым деревом и наоборот. Объяснение Мы можем спросить себя, какой обход дерева будет...

Подробнее

Вопрос 106. Решение N-Queens LeetCode Постановка задачи N-Queens LeetCode Решение. Головоломка с n-ферзями — это задача о размещении n ферзей на шахматной доске размером nxn так, чтобы никакие два ферзя не атаковали друг друга. По заданному целому числу n найти все различные решения головоломки с n ферзями. Вы можете вернуть ответ в любом порядке. Каждое решение содержит отдельную конфигурацию платы ...

Подробнее

Вопрос 107. Самый большой прямоугольник в гистограмме Решение LeetCode Постановка задачи Самый большой прямоугольник в гистограмме LeetCode Решение. Дан массив целых чисел высоты, представляющий высоту столбца гистограммы, где ширина каждого столбца равна 1, вернуть площадь наибольшего прямоугольника в гистограмме. Пример контрольного примера 1: Входные данные: heights = [2, 1, 5, 6, 2, 3] Выходные данные: 10 Объяснение: ...

Подробнее

Вопрос 108. Двоичное дерево, вид справа LeetCode Solution Постановка задачи Двоичное дерево. Вид справа. Решение LeetCode. Учитывая корень бинарного дерева, представьте, что вы стоите с правой стороны от него, и верните значения узлов, которые вы видите, упорядоченные сверху вниз. Пример контрольного примера 1: ввод: root = [1, 2, 3, null, 5, null, ...

Подробнее

Вопрос 109. Хранилище ключей и значений на основе времени Решение LeetCode Постановка задачи Хранилище данных типа "ключ-значение" на основе времени Решение LeetCode. Разработайте структуру данных типа "ключ-значение" на основе времени, которая может хранить несколько значений одного и того же ключа с разными временными метками и получать значение ключа в определенной временной метке. Реализуйте класс TimeMap: TimeMap() Инициализирует объект структуры данных. void set (строковый ключ, строка...

Подробнее

Вопрос 110. Найти медиану из потока данных Решение LeetCode Постановка задачи Найти медиану из потока данных LeetCode Решение. Медиана — это среднее значение в упорядоченном списке целых чисел. Если размер списка четный, среднего значения нет, а медиана — это среднее значение двух средних значений. Например, для arr = [2,3,4] медиана...

Подробнее

Вопрос 111. Перестановка в решении String Leetcode Постановка задачи: перестановка в буклетном коде строки Решение. Даны две строки s1 и s2, вернуть true, если s2 содержит перестановку s1, или false в противном случае. Другими словами, вернуть true, если одна из перестановок s1 является подстрокой s2. Пример : Пример 1 Ввод: s1 = "ab", s2 = "eidbaooo" Вывод: true Объяснение: s2 содержит одну перестановку s1 ("ba"). ...

Подробнее

Вопрос 112. Решение LeetCode для столкновения с астероидом Постановка задачи Столкновение с астероидом Решение LeetCode. Нам дан массив астероидов из целых чисел, представляющих астероиды в ряду. Для каждого астероида абсолютное значение представляет его размер, а знак представляет его направление (положительное значение означает право, отрицательное значение означает лево). Каждый астероид движется с одинаковой скоростью. Узнать состояние...

Подробнее

Вопрос 113. Самый длинный возрастающий путь в матричном решении LeetCode Постановка задачи Самый длинный растущий путь в матрице Решение LeetCode. По заданной матрице mxn целых чисел вернуть длину самого длинного возрастающего пути в матрице. Из каждой клетки вы можете двигаться в четырех направлениях: влево, вправо, вверх или вниз. Вы не можете двигаться по диагонали или выходить за границу (т. е. обход не разрешен). Вход: ...

Подробнее

Вопрос 114. Оптимальная балансировка счета Решение LeetCode Постановка задачи Оптимальная балансировка счета Решение LeetCode. Вам дан массив транзакций transaction, где transaction[i] = [fromi, toi, amounti] указывает, что человек с ID = fromi передал сумму i $ человеку с ID = toi. Возвращает минимальное количество транзакций, необходимых для погашения долга. Ввод: транзакции = [[0,1,10],[2,0,5]] Вывод: 2 Объяснение: Человек #0 ...

Подробнее

Вопрос 115. Решение LeetCode для сериализации и десериализации двоичного дерева Постановка задачи Сериализация и десериализация двоичного дерева Решение LeetCode. Сериализация — это процесс преобразования структуры данных или объекта в последовательность битов, чтобы их можно было сохранить в файле или буфере памяти или передать по каналу сетевого соединения для последующего восстановления. в ...

Подробнее

Вопрос 116. Максимальная сумма путей двоичного дерева Решение LeetCode Постановка задачи Двоичное дерево Максимальная сумма путей LeetCode Решение. Путь в двоичном дереве представляет собой последовательность узлов, в которой каждая пара смежных узлов в последовательности имеет соединяющее их ребро. Узел может появиться в последовательности не более одного раза. Обратите внимание, что путь не нужен...

Подробнее

Вопрос 117. Минимальные ходы коня Решение LeetCode Постановка задачи Минимум ходов конем LeetCode Решение. На бесконечной шахматной доске с координатами от -бесконечности до +бесконечности у вас есть конь на поле [0, 0]. У коня есть 8 возможных ходов, как показано ниже. Каждый ход — это две клетки по сторонам света, затем одна клетка по ортогональному направлению. Вернуть минимальное число...

Подробнее

Вопрос 118. Двоичное дерево Zigzag Level Order Traversal Решение LeetCode Постановка задачи. Двоичное дерево. Зигзагообразный обход по порядку. LeetCode Решение. Учитывая корень бинарного дерева, вернуть зигзагообразный обход по порядку значений его узлов. (т. е. слева направо, затем справа налево для следующего уровня и поочередно). Ввод: root = [3,9,20,null,null,15,7] Вывод: [[3],[20,9],[15,7]] Пояснение Мы...

Подробнее

Вопрос 119. Отсутствует элемент в отсортированном массиве Решение LeetCode Постановка задачи: отсутствующий элемент в отсортированном массиве. Решение LeetCode. Дан целочисленный массив nums, отсортированный в порядке возрастания, и все его элементы уникальны, а также задано целое число k. Возвратите k-е отсутствующее число, начиная с крайнего левого числа массива. Пример: Пример 1 Ввод: nums = [4,7,9,10], k = ...

Подробнее

Вопрос 120. Alien Dictionary Решение LeetCode Постановка задачи Alien Dictionary Решение LeetCode. Существует новый язык пришельцев, использующий английский алфавит. Однако порядок среди букв вам неизвестен. Вам дан список строк слов из словаря инопланетного языка, где строки в словах отсортированы лексикографически по правилам этого нового языка. ...

Подробнее

Вопрос 121. Пересечение двух связанных списков Решение LeetCode Постановка задачи Пересечение двух связанных списков Решение LeetCode. Нам даны заголовки двух сильно связанных списков headA и headB. Также известно, что два связанных списка могут пересекаться в какой-то точке. Нас просят вернуть узел, в котором они пересекаются или нуль, если...

Подробнее

Вопрос 122. Последовательность перестановок Решение LeetCode Постановка задачи Последовательность перестановок Решение LeetCode. Множество [1, 2, 3, ..., n] содержит всего n! уникальные перестановки. Перечислив и пометив все перестановки по порядку, мы получим следующую последовательность для n = 3: "123" "132" "213" "231" "312" "321" Учитывая n и k, верните k-ю последовательность перестановок. Пример теста 1: Вход: n ...

Подробнее

Вопрос 123. Поворот изображения Решение LeetCode Постановка задачи Поворот изображения LeetCode Решение. Вам дана двумерная матрица размера nxn, представляющая изображение. Поверните изображение на 2 градусов (по часовой стрелке). Вам нужно повернуть изображение на месте, что означает, что вы должны напрямую изменить входную 90D-матрицу. НЕ выделяйте другую 2D-матрицу и не выполняйте поворот. Пример контрольного примера 2: Ввод: ...

Подробнее

Вопрос 124. Топ K частых слов Решение LeetCode Постановка задачи Top K наиболее часто встречающихся слов Решение LeetCode. Дан массив строк words и целое число k, возвратить k наиболее часто встречающихся строк. Верните ответ, отсортированный по частоте от самой высокой до самой низкой. Отсортируйте слова с одинаковой частотностью по их лексикографическому порядку. Пример теста 1: Вход: слова = ["i", "love", "leetcode", "i", "love", "coding"] k = 2 Выход: ["i", "love"] Объяснение . ..

Подробнее

Вопрос 125. Объединить отсортированный массив LeetCode Solution Постановка задачи Слияние отсортированного массива LeetCode Решение. Вам даны два массива целых чисел nums1 и nums2, отсортированные в неубывающем порядке, и два целых числа m и n, представляющие количество элементов в nums1 и nums2 соответственно. Объедините nums1 и nums2 в один массив, отсортированный в неубывающем порядке. Окончательный отсортированный массив не должен возвращаться функцией, а должен храниться внутри массива nums1. ...

Подробнее

Вопрос 126. Свободное время сотрудников Решение LeetCode Постановка задачи. Свободное время сотрудников. Решение LeetCode. Нам дан список сотрудников, который представляет рабочее время каждого сотрудника. У каждого сотрудника есть список непересекающихся интервалов, и эти интервалы отсортированы. Возвратите список конечных интервалов, представляющих общее свободное время положительной длины для всех сотрудников, также в ...

Подробнее

Вопрос 127. Количество отдельных островов Решение Leetcode Постановка задачи Количество отдельных островов Решение LeetCode — «Количество отдельных островов» утверждает, что задана бинарная матрица anxm. Остров представляет собой группу единиц (представляющих землю), соединенных в четырех направлениях (по горизонтали или по вертикали). Остров считается таким же, как другой, тогда и только тогда, когда один остров...

Подробнее

Вопрос 128. Восстановление IP-адресов Leetcode Solution Постановка задачи Решение LeetCode для восстановления IP-адресов — «Восстановление IP-адресов» утверждает, что для данной строки, содержащей только цифры, нам нужно вернуть все возможные допустимые IP-адреса в любом порядке, который может быть сформирован путем вставки точек в строку. Обратите внимание, что нам не разрешено возвращаться...

Подробнее

Вопрос 129. Решение LeetCode для сжатия строк Постановка задачи Сжатие строк LeetCode Решение. Дан массив символов chars, сжать его, используя следующий алгоритм: Начните с пустой строки s. Для каждой группы последовательных повторяющихся символов в chars: Если длина группы равна 1, добавьте символ к s. В противном случае добавьте символ, за которым следует длина группы. Сжатая строка...

Подробнее

Вопрос 130. Возможное двураздельное решение LeetCode Постановка задачи Возможное решение LeetCode для двух разделов. Мы хотим разделить группу из n человек (пронумерованных от 1 до n) на две группы любого размера. Каждому человеку могут не нравиться некоторые другие люди, и они не должны входить в одну группу. Учитывая целое число n и массив dislikes, где dislikes[i] = [ai, bi] указывает, что человек с меткой ai делает ...

Подробнее

Вопрос 131. Максимальный продукт разделенного двоичного дерева Решение LeetCode Постановка задачи Максимальное произведение разделенного двоичного дерева Решение LeetCode. Учитывая корень двоичного дерева, разделите двоичное дерево на два поддерева, удалив одно ребро так, чтобы произведение сумм поддеревьев было максимальным. Возвращает максимальное произведение сумм двух поддеревьев. ...

Подробнее

Вопрос 132. Максимальное произведение трех чисел Решение LeetCode Постановка задачи Максимальное произведение трех чисел Решение LeetCode. Нам дан массив, вопрос просит нас вычислить максимальное произведение любых трех чисел. Примеры Пример 3: Ввод: nums = [1] Вывод: 1,2,3 Пример 6: Ввод: nums = [2] Вывод: 1,2,3,4 Пример 24: Ввод: nums = ...

Подробнее

Вопрос 133. Индекс случайного выбора Решение LeetCode Постановка задачи Индекс случайного выбора LeetCode Решение. Нам дан конструктор класса «Решение» и функция «выбор» типа int. Нам необходимо реализовать класс «Решение» как Solution(int[] nums) Инициализирует объект массивом nums. int pick(int target) Выбирает случайный индекс i из nums, где nums[i] == target. Если их несколько...

Подробнее

Вопрос 134. Решение LeetCode Next Greater Element III Постановка задачи В задаче «Следующий больший элемент III» LeetCode говорится, что вам дано положительное целое число n, и вам нужно найти следующее наибольшее целое число, используя только цифры, присутствующие в n. Если такого целого числа не существует, вам нужно вывести -1. Более того, новый...

Подробнее

Вопрос 135. Двоичное дерево Самая длинная последовательная последовательность Решение LeetCode Постановка задачи Самая длинная последовательная последовательность в двоичном дереве Решение LeetCode. Учитывая корень двоичного дерева, верните длину самой длинной последовательной последовательности. Путь относится к любой последовательности узлов от некоторого начального узла к любому узлу в дереве вместе с соединениями родитель-потомок. Самый длинный подряд...

Подробнее

Вопрос 136. Переместить нули Решение LeetCode Постановка задачи Задача, Переместить нули. Решение LeetCode гласит, что вам дан массив, содержащий нулевые и ненулевые элементы, и вам необходимо переместить все нули в конец массива, сохраняя относительный порядок ненулевых элементов в массиве. . Вам также необходимо реализовать на месте...

Подробнее

Вопрос 137. 01 Matrix Решение LeetCode Постановка задачи В этой задаче 01 Matrix LeetCode Solution нам нужно найти расстояние до ближайшего 0 для каждой ячейки данной матрицы. Матрица состоит только из 0 и 1, а расстояние между любыми двумя соседними ячейками равно 1. Примеры Пример 1: Ввод: mat = ...

Подробнее

Вопрос 138. Факториал с замыкающими нулями Решение LeetCode Постановка задачи Факториал нулей в конце LeetCode Решение – Учитывая целое число n, вернуть количество нулей в конце числа n!. Обратите внимание, что н! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1. Ввод: n = 3 Вывод: 0 Объяснение: 3! = 6, без трейлинга...

Подробнее

Вопрос 139. Word Ladder Решение LeetCode Постановка задачи Лестница слов Решение LeetCode. «Лестница слов» утверждает, что вам дана строка beginWord, строка endWord и список слов. Нам нужно найти кратчайшую длину последовательности преобразований (если путь не существует, выведите 0) из beginWord в endWord, следуя заданным условиям: Все промежуточные слова должны ...

Подробнее

Вопрос 140. Самая длинная подстрока с не менее чем K повторяющимися символами Решение LeetCode Постановка задачи Задача Самая длинная подстрока с не менее чем K повторяющимися символами Решение LeetCode гласит, что для заданной строки S и целого числа k необходимо вернуть длину самой длинной подстроки S так, чтобы частота каждого символа в этой подстроке была больше или равна k . Пример самой длинной подстроки, по крайней мере...

Подробнее

Вопрос 141. Последний каменный вес II Решение LeetCode Постановка задачи В задаче «Вес последнего камня II» говорится, что вам дан массив целых чисел, где камни[i] — это вес i-го камня. Мы играем в игру с камнями. На каждом ходу мы выбираем любые два камня и сталкиваем их вместе. Предположим, что камни имеют веса x и y...

Подробнее

Вопрос 142. Решение LeetCode для крупнейшего поддерева BST Постановка задачи Самое большое поддерево BST Решение LeetCode гласит, что для корня двоичного дерева необходимо найти самое большое поддерево, которое также является двоичным деревом поиска (BST), где самое большое означает поддерево, имеющее наибольшее количество узлов. Примечание. Поддерево должно включать всех своих потомков. В бинарнике...

Подробнее

Вопрос 143. Конференц-залы II Решение LeetCode Постановка проблемы Решение LeetCode для конференц-залов II. В «Конференц-залах II» указано, что вам дан массив временных интервалов «интервалов» для собраний, где «интервалы [i] = [начало [i], конец [i]]», возвращайте требуется минимальное количество конференц-залов. Пример: интервалы = [[0,30],[5,10],[15,20]] 2 Объяснение: Встретиться с одним можно...

Подробнее

Вопрос 144. Сумма подмассива равна K Решение LeetCode Постановка задачи Сумма подмассивов равна K Решение LeetCode — «Сумма подмассивов равна K» утверждает, что вам дан массив целых чисел «nums» и целое число «k», верните общее количество непрерывных подмассивов, сумма которых равна «k». Пример: nums = [1, 2, 3], k=3 2 Объяснение: Там...

Подробнее

Вопрос 145. Решение LeetCode с самой длинной палиндромной подстрокой Постановка задачи Самая длинная палиндромная подстрока Решение LeetCode — «Самая длинная палиндромная подстрока» утверждает, что вам дана строка s, верните самую длинную палиндромную подстроку в s. Примечание. Палиндром — это слово, которое читается так же, как и вперед, и назад, например, мадам. Пример: s = "babad" "bab" Объяснение: Все...

Подробнее

Вопрос 146. Лучшее время для покупки и продажи решения LeetCode для акций Постановка задачи Лучшее время для покупки и продажи акций Решение LeetCode — «Лучшее время для покупки и продажи акций» утверждает, что вам дан массив цен, где цены[i] — это цена данной акции в i-й день. Вы хотите максимизировать свою прибыль, выбрав ...

Подробнее

Вопрос 147. Решение LRU Cache LeetCode Вопрос Разработайте структуру данных, которая соответствует ограничениям кэша наименее использовавшегося (LRU) кэша. Реализуйте класс LRUCache: LRUCache(int capacity) Инициализируйте кэш LRU с положительной емкостью. int get(int key) Возвращает значение ключа, если ключ существует, иначе возвращает -1. void put(int key, int value) Обновить значение ключа, если он существует. В противном случае добавьте пару ключ-значение в...

Подробнее

Вопрос 148. Решение Leetcode с перестановками Задача Permutations Leetcode Solution предоставляет простую последовательность целых чисел и просит нас вернуть полный вектор или массив всех перестановок данной последовательности. Итак, прежде чем приступить к решению проблемы. Мы должны быть знакомы с перестановками. Итак, перестановка - это не что иное, как расположение ...

Подробнее

Вопрос 149. Решение Leetcode с двумя суммами В этой задаче мы должны найти пару из двух отдельных индексов в отсортированном массиве, значения которых складываются в заданную цель. Мы можем предположить, что в массиве есть только одна пара целых чисел, которые в сумме составляют целевую сумму. Обратите внимание, что массив ...

Подробнее

Вопрос 150. Решение Leetcode для лексикографических чисел Постановка задачи В задаче «Лексикографические числа» дано число n. Наша задача - вывести числа от 1 до n в лексикографическом порядке. Пример n = 13 [1 10 11 12 13 2 3 4 5 6 7 8 9] Объяснение: Поскольку мы должны печатать числа между ...

Подробнее

Вопрос 151. Максимальное количество сегментов длиной a, b и c Задача «Максимальное количество сегментов длиной a, b и c» утверждает, что вам дано положительное целое число N, и вам нужно найти максимальное количество сегментов длиной a, b и c, которое может быть сформировано с помощью N. Пример N = 7 a = 5, b ...

Подробнее

Вопрос 152. Оптимизированное по пространству решение DP для задачи о ранце 0-1 Постановка задачи. Нам дается рюкзак, который может выдерживать некоторый вес, нам нужно выбрать некоторые предметы из заданных предметов с некоторой ценностью. Вещи следует подбирать таким образом, чтобы ценность рюкзака (общая стоимость собранных предметов) была максимальной. ...

Подробнее

Вопрос 153. K-й отдельный элемент в массиве Вам дан целочисленный массив A, выведите k-й отдельный элемент в массиве. Данный массив может содержать дубликаты, и на выходе должен быть напечатан k-й отдельный элемент среди всех уникальных элементов в массиве. Если k больше, чем количество различных элементов, сообщите об этом. Пример ввода: ...

Подробнее

Вопрос 154. Пересечение двух массивов В задаче о пересечении двух массивов мы дали два массива, нам нужно вывести их пересечение (общие элементы). Пример ввода arr1 [] = {1, 2, 2, 1} arr2 [] = {2, 2} вывода {2, 2} ввода arr1 = {4, 9, 5} arr2 = {9, 4, 9, 8 , 4} Выход {4, 9} Алгоритм ...

Подробнее

Вопрос 155. Перестановки Leetcode В этой предварительной постановке задачи leetcode мы дали массив различных целых чисел, вывести все его возможные перестановки. Примеры Вход arr [] = {1, 2, 3} Выход 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 Вход arr [] = {1, 2, ...

Подробнее

Вопрос 156. Объединить K отсортированных связанных списков Проблема слияния K отсортированных связанных списков так известна с точки зрения собеседований. Этот вопрос так часто задают в крупных компаниях, таких как Google, Microsoft, Amazon и т. Д. Как следует из названия, нам предоставили k отсортированных связанных списков. Мы должны объединить их в ...

Подробнее

Вопрос 157. Найти медиану из потока данных В задаче «Найти медиану из потока данных» мы указали, что целые числа считываются из потока данных. Найдите медиану всех прочитанных элементов, начиная с первого целого числа до последнего целого числа. Пример ввода 1: stream [] = {3,10,5,20,7,6} Вывод: 3 6.5 ...

Подробнее

Вопрос 158. Максимум скользящего окна В задаче «Максимум скользящего окна» мы дали массив чисел, для каждого непрерывного окна размера k найти максимальный элемент в окне. Пример Входные числа [] = {1,3, -1, -3,5,3,6,7} k = 3 Выходные данные {3,3,5,5,6,7} Объяснение Наивный подход для максимума скользящего окна для каждое смежное окно размера k, пройти ...

Подробнее

Вопрос 159. Слово разрыв Word Break - это проблема, которая прекрасно иллюстрирует совершенно новую концепцию. Все мы слышали о сложных словах. Слова состоят из более чем двух слов. Сегодня у нас есть список слов, и все, что нам нужно сделать, это проверить, все ли слова из словаря могут ...

Подробнее

Вопрос 160. Обратные узлы в K-Group Проблема В обратных узлах в задаче K-Group мы дали связанный список, переверните связанный список в группе из k и верните измененный список. Если количество узлов не кратно k, поменяйте местами оставшиеся узлы. Значение k всегда меньше или равно ...

Подробнее

Вопрос 161. Реализация LRU Cache Кэш наименее недавно использованных (LRU) - это тип метода, который используется для хранения данных таким образом, чтобы время, необходимое для использования данных, было минимально возможным. Алгоритм LRU, используемый при заполнении кеша. Удаляем наименее использованные данные из кеш-памяти ...

Подробнее

Вопрос 162. N проблема королевы Задача N queen с использованием концепции Backtracking. Здесь мы размещаем ферзя так, чтобы ни один ферзь не находился в состоянии атаки. Условие атаки ферзей: если два ферзя находятся в одном столбце, ряду и диагонали, то они атакованы. Посмотрим на рисунок ниже. Здесь ...

Подробнее

Translate »