Пацифисты
Сложность: Средняя
Условие задачи: вы менеджер баскетбольной команды. Для предстоящего турнира вы хотите выбрать команду с наибольшим общим счетом. Счет команды - это сумма очков всех игроков в команде.
Однако баскетбольной команде не разрешается иметь конфликтов. Конфликт возникает, если у младшего игрока строго более высокий балл, чем у старшего игрока. Конфликт не возникает между игроками одного возраста.
Учитывая два списка, баллы и возрасты, где каждый балл [i] и возраст [i] представляют счет и возраст i-го игрока соответственно, возвращают наивысший общий балл всех возможных баскетбольных команд.
Пример:
Ввод: scores = [1,3,5,10,15], ages = [1,2,3,4,5]
Вывод: 34
Ввод: scores = [4,5,6,5], ages = [2,1,2,1]
Вывод: 16
Решение задачи
Сложность: Средняя
Условие задачи: вы менеджер баскетбольной команды. Для предстоящего турнира вы хотите выбрать команду с наибольшим общим счетом. Счет команды - это сумма очков всех игроков в команде.
Однако баскетбольной команде не разрешается иметь конфликтов. Конфликт возникает, если у младшего игрока строго более высокий балл, чем у старшего игрока. Конфликт не возникает между игроками одного возраста.
Учитывая два списка, баллы и возрасты, где каждый балл [i] и возраст [i] представляют счет и возраст i-го игрока соответственно, возвращают наивысший общий балл всех возможных баскетбольных команд.
Пример:
Ввод: scores = [1,3,5,10,15], ages = [1,2,3,4,5]
Вывод: 34
Ввод: scores = [4,5,6,5], ages = [2,1,2,1]
Вывод: 16
Решение задачи
👍2
Наибольший общий делитель строки
Сложность: Лёгкая
Условие задачи: для двух строк s и t мы говорим "t делит s" тогда и только тогда, когда s = t + ... + t (т.е. t объединяется с самим собой один или несколько раз).
Дается две строки str1 и str2, верните самую большую строку x, такую, что x делит как str1, так и str2.
Пример:
Ввод: str1 = "ABCABC", str2 = "ABC"
Вывод: "ABC"
Ввод: str1 = "ABABAB", str2 = "ABAB"
Вывод: "AB"
Решение задачи
Сложность: Лёгкая
Условие задачи: для двух строк s и t мы говорим "t делит s" тогда и только тогда, когда s = t + ... + t (т.е. t объединяется с самим собой один или несколько раз).
Дается две строки str1 и str2, верните самую большую строку x, такую, что x делит как str1, так и str2.
Пример:
Ввод: str1 = "ABCABC", str2 = "ABC"
Вывод: "ABC"
Ввод: str1 = "ABABAB", str2 = "ABAB"
Вывод: "AB"
Решение задачи
❤1👍1🔥1
Международная азбука Морзе
Сложность: Лёгкая
Условие задачи: международная азбука Морзе определяет стандартную кодировку, в которой каждая буква сопоставляется с серией точек и тире следующим образом:
"a" соответствует ".-",
"b" соответствует "-...",
"c" соответствует "-.-." и так далее.
Для удобства ниже приведена полная таблица для 26 букв английского алфавита:
[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]
Дан массив строк words, где каждое слово может быть записано как объединение азбуки Морзе каждой буквы.
Верните количество различных преобразований среди всех слов, которые у нас есть.
Пример:
Ввод: words = ["gin","zen","gig","msg"]
Вывод: 2
Объяснение:
"gin" -> "--...-."
"zen" -> "--...-."
"gig" -> "--...--."
"msg" -> "--...--."
Ввод: words = ["a"]
Вывод: 1
Решение задачи
Сложность: Лёгкая
Условие задачи: международная азбука Морзе определяет стандартную кодировку, в которой каждая буква сопоставляется с серией точек и тире следующим образом:
"a" соответствует ".-",
"b" соответствует "-...",
"c" соответствует "-.-." и так далее.
Для удобства ниже приведена полная таблица для 26 букв английского алфавита:
[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]
Дан массив строк words, где каждое слово может быть записано как объединение азбуки Морзе каждой буквы.
Верните количество различных преобразований среди всех слов, которые у нас есть.
Пример:
Ввод: words = ["gin","zen","gig","msg"]
Вывод: 2
Объяснение:
"gin" -> "--...-."
"zen" -> "--...-."
"gig" -> "--...--."
"msg" -> "--...--."
Ввод: words = ["a"]
Вывод: 1
Решение задачи
❤1👍1
Среднее по уровню
Сложность: Лёгкая
Условие задачи: дается корень двоичного дерева, верните среднее значение узлов на каждом уровне в виде массива. Будут приняты ответы в пределах 10-5 от фактического ответа.
Пример:
Ввод: root = [3,9,20,null,null,15,7]
Вывод: [3.00000,14.50000,11.00000]
Решение задачи
Сложность: Лёгкая
Условие задачи: дается корень двоичного дерева, верните среднее значение узлов на каждом уровне в виде массива. Будут приняты ответы в пределах 10-5 от фактического ответа.
Пример:
Ввод: root = [3,9,20,null,null,15,7]
Вывод: [3.00000,14.50000,11.00000]
Решение задачи
❤1👍1
Подсчет подостровов
Сложность: Средняя
Условие задачи: дается два двумерных массива, содержащих нули (означают воду) и единицы (суша). Остров - совокупность единиц, соединенных между собой в четырех направлениях (по горизонтали или вертикали).
Острова на второй решетке рассматриваются как подострова только в случае полного соответствия отображения с первой решетки.
Необходимо вычислить количество подостровов на втором поле.
Пример:
Ввод:
Вывод:
Объяснение:
Ввод:
Вывод:
Решение задачи
Сложность: Средняя
Условие задачи: дается два двумерных массива, содержащих нули (означают воду) и единицы (суша). Остров - совокупность единиц, соединенных между собой в четырех направлениях (по горизонтали или вертикали).
Острова на второй решетке рассматриваются как подострова только в случае полного соответствия отображения с первой решетки.
Необходимо вычислить количество подостровов на втором поле.
Пример:
Ввод:
grid1 = [[1,1,1,0,0],[0,1,1,1,1],[0,0,0,0,0],[1,0,0,0,0],[1,1,0,1,1]], grid2 = [[1,1,1,0,0],[0,0,1,1,1],[0,1,0,0,0],[1,0,1,1,0],[0,1,0,1,0]]Вывод:
3Объяснение:
Ввод:
grid1 = [[1,0,1,0,1],[1,1,1,1,1],[0,0,0,0,0],[1,1,1,1,1],[1,0,1,0,1]], grid2 = [[0,0,0,0,0],[1,1,1,1,1],[0,1,0,1,0],[0,1,0,1,0],[1,0,0,0,1]]Вывод:
2 Решение задачи
👍1
Путь минимальной суммы
Сложность: Средняя
Условие задачи: дается двумерная матрица, заполненная неотрицательными числами. Необходимо найти путь из левого верхнего угла в правый нижний, который имеет наименьшую сумму.
Двигаться можно лишь вправо и вниз.
Пример:
Ввод: grid = [[1,3,1],[1,5,1],[4,2,1]]
Вывод: 7
Объяснение: *во вложении
Решение задачи
Сложность: Средняя
Условие задачи: дается двумерная матрица, заполненная неотрицательными числами. Необходимо найти путь из левого верхнего угла в правый нижний, который имеет наименьшую сумму.
Двигаться можно лишь вправо и вниз.
Пример:
Ввод: grid = [[1,3,1],[1,5,1],[4,2,1]]
Вывод: 7
Объяснение: *во вложении
Решение задачи
👍1
Избыточность соединения
Сложность: Средняя
Условие задачи: дается ненправленный граф, не имеющий циклов.
Узлы графа соединены между собой и отражаются списком соединения
В графе имеется избытоное ребро, которое может быть безболезнено извлечено из списка связности.
Необходимо вывести ребро, которое можно удалить без потери информации.
Пример:
Ввод:
Вывод:
Решение задачи
Сложность: Средняя
Условие задачи: дается ненправленный граф, не имеющий циклов.
Узлы графа соединены между собой и отражаются списком соединения
edges[i] = [ai, bi]. В графе имеется избытоное ребро, которое может быть безболезнено извлечено из списка связности.
Необходимо вывести ребро, которое можно удалить без потери информации.
Пример:
Ввод:
edges = [[1,2],[1,3],[2,3]]Вывод:
[2,3]Решение задачи
👍1
Сводные диапазоны
Сложность: Лёгкая
Условие задачи: дается массив из уникальных целых чисел цисел. Срез [a,b] - включает в себя множество значений из данного отрезка включительно.
Необходимо верноть наименьший отсортированный список диапазонов, покрывающих все в массиве. Это означает, что каждый элемент из исходного массива должен быть включен только в единственный диапазон, и нет такого элемнта из исходного массива, что этот элемент будет в одном из диапазонов, но будет остутствовать в исходном массиве.
• "a->b" if a != b
• "a" if a == b
Пример:
Ввод: nums = [0,1,2,4,5,7]
Вывод: ["0->2","4->5","7"]
Объяснение:
[0,2] --> "0->2"
[4,5] --> "4->5"
[7,7] --> "7"
Ввод: nums = [0,2,3,4,6,8,9]
Вывод: ["0","2->4","6","8->9"]
Решение задачи
Сложность: Лёгкая
Условие задачи: дается массив из уникальных целых чисел цисел. Срез [a,b] - включает в себя множество значений из данного отрезка включительно.
Необходимо верноть наименьший отсортированный список диапазонов, покрывающих все в массиве. Это означает, что каждый элемент из исходного массива должен быть включен только в единственный диапазон, и нет такого элемнта из исходного массива, что этот элемент будет в одном из диапазонов, но будет остутствовать в исходном массиве.
• "a->b" if a != b
• "a" if a == b
Пример:
Ввод: nums = [0,1,2,4,5,7]
Вывод: ["0->2","4->5","7"]
Объяснение:
[0,2] --> "0->2"
[4,5] --> "4->5"
[7,7] --> "7"
Ввод: nums = [0,2,3,4,6,8,9]
Вывод: ["0","2->4","6","8->9"]
Решение задачи
👍2
DeepSeek — самая мощная нейросеть в мире? Честно сравним и разберемся на примерах вместе с Кириллом Пшинником, СЕО университета Зерокодер.
⚡️Что ждет вас на вебинаре?
— Сравним DeepSeek-R1 и QWEN 2.5-Max с ChatGPT – кто быстрее, точнее и эффективнее?
— Покажем, как использовать DeepSeek без ограничений и блокировок;
— Разберем, как можно зарабатывать на нейросетях и какие вакансии будут востребованы в 2025 году.
👉 Регистрируйтесь прямо сейчас
Все участники получат готовые инструменты для работы с нейросетями. Эфир подойдет всем, кто хочет сэкономить время, монетизировать навыки и оставаться в тренде технологий 2025 года.
PS: Это первый полноценный практикум от экспертов по DeepSeek. Узнайте и погрузитесь в революционные изменения AI сферы по ссылке.
erid: 2W5zFJph6it
ООО Зерокодер, ИНН 9715401631
⚡️Что ждет вас на вебинаре?
— Сравним DeepSeek-R1 и QWEN 2.5-Max с ChatGPT – кто быстрее, точнее и эффективнее?
— Покажем, как использовать DeepSeek без ограничений и блокировок;
— Разберем, как можно зарабатывать на нейросетях и какие вакансии будут востребованы в 2025 году.
👉 Регистрируйтесь прямо сейчас
Все участники получат готовые инструменты для работы с нейросетями. Эфир подойдет всем, кто хочет сэкономить время, монетизировать навыки и оставаться в тренде технологий 2025 года.
PS: Это первый полноценный практикум от экспертов по DeepSeek. Узнайте и погрузитесь в революционные изменения AI сферы по ссылке.
erid: 2W5zFJph6it
ООО Зерокодер, ИНН 9715401631
Конструирование прямоугольника
Сложность: Лёгкая
Условие задачи: web-разработчикам необходимо знать размеры окна создаваемого приложения. Дается специальная прямоугольная рамка, имеющая размеры L (длина) и W (ширина). На данные габариты накладываются определенные условия:
- площадь прямоугольника, разрабатываемого нами окна, должна быть меньше или равна целевому значению;
- ширина должна быть не больше длины;
- разница между длинной и шириной должна быть минимальной.
Необходимо вычислить пару длины и ширины, удовлетворяющих вышеуказанным условиям.
Пример:
Ввод: area = 4
Вывод: [2,2]
Объяснение:
Ввод: area = 122122
Вывод: [427,286]
Решение задачи
Сложность: Лёгкая
Условие задачи: web-разработчикам необходимо знать размеры окна создаваемого приложения. Дается специальная прямоугольная рамка, имеющая размеры L (длина) и W (ширина). На данные габариты накладываются определенные условия:
- площадь прямоугольника, разрабатываемого нами окна, должна быть меньше или равна целевому значению;
- ширина должна быть не больше длины;
- разница между длинной и шириной должна быть минимальной.
Необходимо вычислить пару длины и ширины, удовлетворяющих вышеуказанным условиям.
Пример:
Ввод: area = 4
Вывод: [2,2]
Объяснение:
Ввод: area = 122122
Вывод: [427,286]
Решение задачи
👍1
Нахождение вершины списка
Сложность: Средняя
Условие задачи: вершина списка - элемент, который больше как соседа слева, так и соседа справа.
Дается целочисленный массив (проиндексированный с 0), необходимо вычислить элемент, который является вершиной списка, а после вернуть его индекс. В случае нескольких таких элементов можно вернуть любой из вариантов.
Алгоритм должен иметь временную сложность O (log n).
Пример:
Ввод: nums = [1,2,3,1]
Вывод: 2
Ввод: nums = [1,2,1,3,5,6,4]
Вывод: 5
Решение задачи
Сложность: Средняя
Условие задачи: вершина списка - элемент, который больше как соседа слева, так и соседа справа.
Дается целочисленный массив (проиндексированный с 0), необходимо вычислить элемент, который является вершиной списка, а после вернуть его индекс. В случае нескольких таких элементов можно вернуть любой из вариантов.
Алгоритм должен иметь временную сложность O (log n).
Пример:
Ввод: nums = [1,2,3,1]
Вывод: 2
Ввод: nums = [1,2,1,3,5,6,4]
Вывод: 5
Решение задачи
👍1
Монотонное увеличение
Сложность: Средняя
Условие задачи: бинарная строка монотонно увеличивается, если она состоит из некоторого числа 0 (возможно, ни одного), за которым следует некоторое количество 1 (также возможно, ни одного).
Дана двоичная строка s. Вы можете перевернуть [i], изменив его с 0 на 1 или с 1 на 0.
Верните минимальное количество переворотов, чтобы сделать s монотонно увеличивающимся.
Пример:
Ввод: s = "00110"
Вывод: 1
Объяснение: 00111
Ввод: s = "010110"
Вывод: 2
Решение задачи
Сложность: Средняя
Условие задачи: бинарная строка монотонно увеличивается, если она состоит из некоторого числа 0 (возможно, ни одного), за которым следует некоторое количество 1 (также возможно, ни одного).
Дана двоичная строка s. Вы можете перевернуть [i], изменив его с 0 на 1 или с 1 на 0.
Верните минимальное количество переворотов, чтобы сделать s монотонно увеличивающимся.
Пример:
Ввод: s = "00110"
Вывод: 1
Объяснение: 00111
Ввод: s = "010110"
Вывод: 2
Решение задачи
👍1
Количество узлов
Сложность: Средняя
Условие задачи: дано дерево (т.е. связный неориентированный граф, не имеющий циклов), состоящее из n узлов с числом от 0 до n - 1 и ровно n - 1 ребер. Корнем дерева является узел 0, и каждый узел дерева имеет метку, которая представляет собой символ нижнего регистра, указанный в строковых метках (т.е. узел с номером i имеет метку labels[i]).
Массив ребер задан на ребрах фермы[i] = [ai, bi], что означает наличие ребра между узлами ai и bi в дереве.
Возвращает массив размера n, где и[i] - количество узлов в поддереве узла земли, которые имеют ту же метку, что и узел i.
Поддерево дерева - это дерево, состоящее из узла в T и всех его дочерних узлов.
Пример:
Ввод: n = 7, edges = [[0,1],[0,2],[1,4],[1,5],[2,3],[2,6]], labels = "abaedcd"
Вывод: [2,1,1,1,1,1,1]
Объяснение:
Ввод: n = 4, edges = [[0,1],[1,2],[0,3]], labels = "bbbb"
Вывод: [4,2,1,1]
Решение задачи
Сложность: Средняя
Условие задачи: дано дерево (т.е. связный неориентированный граф, не имеющий циклов), состоящее из n узлов с числом от 0 до n - 1 и ровно n - 1 ребер. Корнем дерева является узел 0, и каждый узел дерева имеет метку, которая представляет собой символ нижнего регистра, указанный в строковых метках (т.е. узел с номером i имеет метку labels[i]).
Массив ребер задан на ребрах фермы[i] = [ai, bi], что означает наличие ребра между узлами ai и bi в дереве.
Возвращает массив размера n, где и[i] - количество узлов в поддереве узла земли, которые имеют ту же метку, что и узел i.
Поддерево дерева - это дерево, состоящее из узла в T и всех его дочерних узлов.
Пример:
Ввод: n = 7, edges = [[0,1],[0,2],[1,4],[1,5],[2,3],[2,6]], labels = "abaedcd"
Вывод: [2,1,1,1,1,1,1]
Объяснение:
Ввод: n = 4, edges = [[0,1],[1,2],[0,3]], labels = "bbbb"
Вывод: [4,2,1,1]
Решение задачи
❤2👍1👎1
Вам нравится читать контент на этом канале?
Возможно, вы задумывались о том, чтобы купить на нем интеграцию?
Следуйте 3 простым шагам, чтобы сделать это:
1) Нажмите на ссылку: Вход
2) Пополняйтесь удобным способом
3) Размещайте публикацию
Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
Возможно, вы задумывались о том, чтобы купить на нем интеграцию?
Следуйте 3 простым шагам, чтобы сделать это:
1) Нажмите на ссылку: Вход
2) Пополняйтесь удобным способом
3) Размещайте публикацию
Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
👎2👍1
Наименьшая лексикографически схожая строка
Сложность: Средняя
Условие задачи: даны две строки одинаковой длины s1 и s2 и строка baseStr.
Говорим, что s1[i] и s2[i] являются эквивалентными символами.
Например, если s1 = "abc" и s2 = "cde", то мы имеем 'a' == 'c', 'b' == 'd' и 'c' == 'e'.
Эквивалентные символы следуют обычным правилам отношения эквивалентности:
Рефлексивность: 'a' == 'a'.
Симметрия: 'a' == 'b' подразумевает 'b' == 'a'.
Транзитивность: 'a' == 'b' и 'b' == 'c' подразумевает 'a' == 'c'.
Например, учитывая информацию об эквивалентности из s1 = "abc" и s2 = "cde", "cd" и "ab" являются эквивалентными строками базового Str = "eed", а "aab" является лексикографически наименьшей эквивалентной строкой базового str.
Верните лексикографически наименьшую эквивалентную строку базового Str, используя информацию об эквивалентности из s1 и s2.
Пример:
Ввод: s1 = "parker", s2 = "morris", baseStr = "parser"
Вывод: "makkek"
Ввод: s1 = "hello", s2 = "world", baseStr = "hold"
Вывод: "hdld"
Решение задачи
Сложность: Средняя
Условие задачи: даны две строки одинаковой длины s1 и s2 и строка baseStr.
Говорим, что s1[i] и s2[i] являются эквивалентными символами.
Например, если s1 = "abc" и s2 = "cde", то мы имеем 'a' == 'c', 'b' == 'd' и 'c' == 'e'.
Эквивалентные символы следуют обычным правилам отношения эквивалентности:
Рефлексивность: 'a' == 'a'.
Симметрия: 'a' == 'b' подразумевает 'b' == 'a'.
Транзитивность: 'a' == 'b' и 'b' == 'c' подразумевает 'a' == 'c'.
Например, учитывая информацию об эквивалентности из s1 = "abc" и s2 = "cde", "cd" и "ab" являются эквивалентными строками базового Str = "eed", а "aab" является лексикографически наименьшей эквивалентной строкой базового str.
Верните лексикографически наименьшую эквивалентную строку базового Str, используя информацию об эквивалентности из s1 и s2.
Пример:
Ввод: s1 = "parker", s2 = "morris", baseStr = "parser"
Вывод: "makkek"
Ввод: s1 = "hello", s2 = "world", baseStr = "hold"
Вывод: "hdld"
Решение задачи
👍2
Количество провинций
Сложность: Средняя
Условие задачи: даётся n провинций, какие-то из них соединены между собой, какие-то нет, также соблюдается правило транзитивности: если провинция «1» соединена с провинцией «2», а «2» соединена с «3» провинцией, то и «1» соединена с «3».
Провинцией является совокупность городов, объединённых между собой, но при этом отделенные от других, принадлежащих другим провинциям.
На вход даётся квадратичная матрица, в которой
Необходимо вычислить количество провинций.
Пример:
Ввод:
Решение задачи
Сложность: Средняя
Условие задачи: даётся n провинций, какие-то из них соединены между собой, какие-то нет, также соблюдается правило транзитивности: если провинция «1» соединена с провинцией «2», а «2» соединена с «3» провинцией, то и «1» соединена с «3».
Провинцией является совокупность городов, объединённых между собой, но при этом отделенные от других, принадлежащих другим провинциям.
На вход даётся квадратичная матрица, в которой
isConnected[i][j] = 1 - соединение между i - ым и j - - ым населенными пунктами (1 - имеется соединение, 0 - отсутствует). Необходимо вычислить количество провинций.
Пример:
Ввод:
isConnected = [[1,1,0],[1,1,0],[0,0,1]]
Вывод: 2
Объяснение: *во вложенииРешение задачи
👍2
Проверка соответствия строк в двух списках
Сложность: Лёгкая
Условие задачи: на вход подаются два строковых массива, необходимо вернуть true, если два массива представляют одну и ту же строку, false в противном случае.
Под представлением одной и той же строки подразумевается, что после конкатенации всех фрагментов списков, две полученные строки будут идентичными.
Пример:
Ввод: word1 = ["ab", "c"], word2 = ["a", "bc"]
Вывод: true
Объяснение:
word1: "ab" + "c" -> "abc"
word2: "a" + "bc" -> "abc"
Ввод: word1 = ["a", "cb"], word2 = ["ab", "c"]
Вывод: false
Решение задачи
Сложность: Лёгкая
Условие задачи: на вход подаются два строковых массива, необходимо вернуть true, если два массива представляют одну и ту же строку, false в противном случае.
Под представлением одной и той же строки подразумевается, что после конкатенации всех фрагментов списков, две полученные строки будут идентичными.
Пример:
Ввод: word1 = ["ab", "c"], word2 = ["a", "bc"]
Вывод: true
Объяснение:
word1: "ab" + "c" -> "abc"
word2: "a" + "bc" -> "abc"
Ввод: word1 = ["a", "cb"], word2 = ["ab", "c"]
Вывод: false
Решение задачи
👍1
K-ый наибольший элемент
Сложность: Лёгкая
Условие задачи: необходимо разработать класс по нахождению k-ого наибольшего элемента среди передаваемых значений. k-м считается элемент для отсортированного списка, а не по уникальности значения.
Класс содержит следующие методы:
-
-
Пример:
Ввод:
Вывод:
Объяснение:
Решение задачи
Сложность: Лёгкая
Условие задачи: необходимо разработать класс по нахождению k-ого наибольшего элемента среди передаваемых значений. k-м считается элемент для отсортированного списка, а не по уникальности значения.
Класс содержит следующие методы:
-
KthLargest(int k, int[] nums) иниициализирует класс;-
int add(int val) добавляет элемент в спискок и возвращает k-ый наименьший согласно условию.Пример:
Ввод:
["KthLargest", "add", "add", "add", "add", "add"]
[[3, [4, 5, 8, 2]], [3], [5], [10], [9], [4]]Вывод:
[null, 4, 5, 5, 8, 8]Объяснение:
KthLargest kthLargest = new KthLargest(3, [4, 5, 8, 2]);
kthLargest.add(3); // return 4
kthLargest.add(5); // return 5
kthLargest.add(10); // return 5
kthLargest.add(9); // return 8
kthLargest.add(4); // return 8Решение задачи
👍1
Сумма тропы в дереве II
Сложность: Средняя
Условие задачи: дается корень бинарного дерева, а также целовое значение суммы, необходимо вернуть такие пути в дереве (от корня до последнего потомка), сумма значений в узлах которых равна целевой сумме. Каждый путь должен быть возвращен как список из значений узлов.
Пример:
Ввод:
Вывод:
Объяснение: * голубые узлы на изображении
Решение задачи
Сложность: Средняя
Условие задачи: дается корень бинарного дерева, а также целовое значение суммы, необходимо вернуть такие пути в дереве (от корня до последнего потомка), сумма значений в узлах которых равна целевой сумме. Каждый путь должен быть возвращен как список из значений узлов.
Пример:
Ввод:
root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22Вывод:
[[5,4,11,2],[5,8,4,5]]Объяснение: * голубые узлы на изображении
Решение задачи
👍2❤1
Максимальное скользящее
Сложность: Тяжёлая
Условие задачи: дан целочисленный массив, а также размер k подмассива, начинающегося от левой границы, и заканчивающегося в процессе выполнения алгоритма у правой границы. На каждом шаге можно просматривать k последовательных элементов скользящего массива. На каждом шаге надо определить максимальное значение скользящего.
Пример:
Ввод:
Вывод:
Объяснение:
Скользящее на каждой итерации
Ввод:
Вывод:
Решение задачи
Сложность: Тяжёлая
Условие задачи: дан целочисленный массив, а также размер k подмассива, начинающегося от левой границы, и заканчивающегося в процессе выполнения алгоритма у правой границы. На каждом шаге можно просматривать k последовательных элементов скользящего массива. На каждом шаге надо определить максимальное значение скользящего.
Пример:
Ввод:
nums = [1,3,-1,-3,5,3,6,7], k = 3Вывод:
[3,3,5,5,6,7]Объяснение:
Скользящее на каждой итерации
Max
-------------------------- -----
[1 3 -1] -3 5 3 6 7 3
1 [3 -1 -3] 5 3 6 7 3
1 3 [-1 -3 5] 3 6 7 5
1 3 -1 [-3 5 3] 6 7 5
1 3 -1 -3 [5 3 6] 7 6
1 3 -1 -3 5 [3 6 7] 7Ввод:
nums = [1], k = 1Вывод:
[1]Решение задачи
👍1