Распределение конфет
Сложность: Лёгкая
Условие задачи: у Алисы есть конфеты, где i-я конфета относится к типу Candytype[i]. Алиса заметила, что начала набирать вес, поэтому обратилась к врачу.
Доктор посоветовал Алисе съесть только n / 2 конфет, которые у нее есть (n всегда четное). Алисе очень нравятся ее конфеты, и она хочет съесть максимальное количество различных видов конфет, все еще следуя советам врача.
Учитывая целочисленный массив candyType длины n, верните максимальное количество различных типов конфет, которые она может съесть, если она съест только n / 2 из них.
Пример:
Ввод: candyType = [1,1,2,2,3,3]
Вывод: 3
Объяснение: Алиса может съесть только 6/2 = 3 конфеты. Поскольку существует только 3 вида, она может съесть по одному из каждого вида.
Ввод: piles = [4,3,6,7], k = 3
Вывод: 12
Решение задачи
Сложность: Лёгкая
Условие задачи: у Алисы есть конфеты, где i-я конфета относится к типу Candytype[i]. Алиса заметила, что начала набирать вес, поэтому обратилась к врачу.
Доктор посоветовал Алисе съесть только n / 2 конфет, которые у нее есть (n всегда четное). Алисе очень нравятся ее конфеты, и она хочет съесть максимальное количество различных видов конфет, все еще следуя советам врача.
Учитывая целочисленный массив candyType длины n, верните максимальное количество различных типов конфет, которые она может съесть, если она съест только n / 2 из них.
Пример:
Ввод: candyType = [1,1,2,2,3,3]
Вывод: 3
Объяснение: Алиса может съесть только 6/2 = 3 конфеты. Поскольку существует только 3 вида, она может съесть по одному из каждого вида.
Ввод: piles = [4,3,6,7], k = 3
Вывод: 12
Решение задачи
❤1👍1
Пацифисты
Сложность: Средняя
Условие задачи: вы менеджер баскетбольной команды. Для предстоящего турнира вы хотите выбрать команду с наибольшим общим счетом. Счет команды - это сумма очков всех игроков в команде.
Однако баскетбольной команде не разрешается иметь конфликтов. Конфликт возникает, если у младшего игрока строго более высокий балл, чем у старшего игрока. Конфликт не возникает между игроками одного возраста.
Учитывая два списка, баллы и возрасты, где каждый балл [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
Решение задачи
👍5❤2
Змеи и лестницы
Сложность: Средняя
Условие задачи: дается доска с целочисленной матрицей n x n, где ячейки помечены от 1 до n2 в стиле бустрофедона, начиная с нижнего левого края доски (т.е. доска [n - 1] [0]) и чередуя направление каждой строки.
Вы начинаете с квадрата 1 на доске. В каждом ходе, начиная с квадратного поворота, выполняйте следующее:
Выберите целевой квадрат рядом с меткой в диапазоне [curr + 1, min(curr + 6, n2)].
Если рядом есть змея или лестница, вы должны перейти к месту назначения этой змеи или лестницы. В противном случае вы переходите к следующему.
Игра заканчивается, когда вы достигаете квадрата n2.
Верните наименьшее количество ходов, необходимых для достижения квадрата n2. Если добраться до квадрата невозможно, верните значение -1.
Пример:
Ввод: board = [[-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1],[-1,35,-1,-1,13,-1],[-1,-1,-1,-1,-1,-1],[-1,15,-1,-1,-1,-1]]
Вывод: 4
Ввод: board = [[-1,-1],[-1,3]]
Вывод: 1
Решение задачи
Сложность: Средняя
Условие задачи: дается доска с целочисленной матрицей n x n, где ячейки помечены от 1 до n2 в стиле бустрофедона, начиная с нижнего левого края доски (т.е. доска [n - 1] [0]) и чередуя направление каждой строки.
Вы начинаете с квадрата 1 на доске. В каждом ходе, начиная с квадратного поворота, выполняйте следующее:
Выберите целевой квадрат рядом с меткой в диапазоне [curr + 1, min(curr + 6, n2)].
Если рядом есть змея или лестница, вы должны перейти к месту назначения этой змеи или лестницы. В противном случае вы переходите к следующему.
Игра заканчивается, когда вы достигаете квадрата n2.
Верните наименьшее количество ходов, необходимых для достижения квадрата n2. Если добраться до квадрата невозможно, верните значение -1.
Пример:
Ввод: board = [[-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1],[-1,35,-1,-1,13,-1],[-1,-1,-1,-1,-1,-1],[-1,15,-1,-1,-1,-1]]
Вывод: 4
Ввод: board = [[-1,-1],[-1,3]]
Вывод: 1
Решение задачи
👍3❤2
Максимальное среднее подмассива
Сложность: Лёгкая
Условие задачи: дается целочисленный массив nums, состоящий из n элементов и целого числа k.
Найдите непрерывный подмассив, длина которого равна k, который имеет максимальное среднее значение, и верните это значение. Будет принят любой ответ с ошибкой вычисления менее 10-5.
Пример:
Ввод: nums = [1,12,-5,-6,50,3], k = 4
Вывод: 12.75000
Объяснение:
Ввод: nums = [5], k = 1
Вывод: 5.00000
Решение задачи
Сложность: Лёгкая
Условие задачи: дается целочисленный массив nums, состоящий из n элементов и целого числа k.
Найдите непрерывный подмассив, длина которого равна k, который имеет максимальное среднее значение, и верните это значение. Будет принят любой ответ с ошибкой вычисления менее 10-5.
Пример:
Ввод: nums = [1,12,-5,-6,50,3], k = 4
Вывод: 12.75000
Объяснение:
Ввод: nums = [5], k = 1
Вывод: 5.00000
Решение задачи
👍6
Наиболее частое слово
Сложность: Лёгкая
Условие задачи: дается строковый абзац и строковый массив запрещенных слов banned возвращают наиболее часто встречающееся слово, которое не запрещено. Гарантируется, что есть хотя бы одно слово, которое не запрещено, и что ответ уникален.
Слова в абзаце не учитывают регистр, и ответ должен быть возвращен в нижнем регистре.
Пример:
Ввод: paragraph = "Bob hit a ball, the hit BALL flew far after it was hit.", banned = ["hit"]
Вывод: "ball"
Ввод: paragraph = "a.", banned = []
Вывод: "a"
Решение задачи
Сложность: Лёгкая
Условие задачи: дается строковый абзац и строковый массив запрещенных слов banned возвращают наиболее часто встречающееся слово, которое не запрещено. Гарантируется, что есть хотя бы одно слово, которое не запрещено, и что ответ уникален.
Слова в абзаце не учитывают регистр, и ответ должен быть возвращен в нижнем регистре.
Пример:
Ввод: paragraph = "Bob hit a ball, the hit BALL flew far after it was hit.", banned = ["hit"]
Вывод: "ball"
Ввод: paragraph = "a.", banned = []
Вывод: "a"
Решение задачи
👍4
Nое число Трибоначчи
Сложность: Лёгкая
Условие задачи: последовательность Трибоначчи Tn определяется следующим образом:
T0 = 0, T1 = 1, T2 = 1 и Tn+3 = Tn + Tn+1 + Tn+2 для n >= 0.
По заданному n, верните значение Tn.
Пример:
Ввод: n = 4
Вывод: 4
Объяснение:
T_3 = 0 + 1 + 1 = 2
T_4 = 1 + 1 + 2 = 4
Решение задачи
Сложность: Лёгкая
Условие задачи: последовательность Трибоначчи Tn определяется следующим образом:
T0 = 0, T1 = 1, T2 = 1 и Tn+3 = Tn + Tn+1 + Tn+2 для n >= 0.
По заданному n, верните значение Tn.
Пример:
Ввод: n = 4
Вывод: 4
Объяснение:
T_3 = 0 + 1 + 1 = 2
T_4 = 1 + 1 + 2 = 4
Решение задачи
👍6
Чужой язык
Сложность: Лёгкая
Условие задачи: на чужом языке они также используют английские строчные буквы, но, возможно, в другом порядке. Порядок алфавита - это некоторая перестановка строчных букв.
Учитывая последовательность слов, написанных на чужом языке, и порядок алфавита, верните значение true тогда и только тогда, когда данные слова отсортированы лексикографически на этом чужом языке.
Пример:
Ввод: words = ["hello","leetcode"], order = "hlabcdefgijkmnopqrstuvwxyz"
Вывод: true
Объяснение:
Ввод: words = ["word","world","row"], order = "worldabcefghijkmnpqstuvxyz"
Вывод: false
Решение задачи
Сложность: Лёгкая
Условие задачи: на чужом языке они также используют английские строчные буквы, но, возможно, в другом порядке. Порядок алфавита - это некоторая перестановка строчных букв.
Учитывая последовательность слов, написанных на чужом языке, и порядок алфавита, верните значение true тогда и только тогда, когда данные слова отсортированы лексикографически на этом чужом языке.
Пример:
Ввод: words = ["hello","leetcode"], order = "hlabcdefgijkmnopqrstuvwxyz"
Вывод: true
Объяснение:
Ввод: words = ["word","world","row"], order = "worldabcefghijkmnpqstuvxyz"
Вывод: false
Решение задачи
👍3👎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"
Решение задачи
👍4
Считалка
Сложность: Средняя
Условие задачи: последовательность "Посчитай и скажи" - это последовательность строк цифр, определяемая рекурсивной формулой:
посчитайте и скажите(1) = "1"
countAndSay(n) - это способ, которым вы бы "сказали" строку цифр из countAndSay(n-1), которая затем преобразуется в другую строку цифр.
Чтобы определить, как вы "произносите" строку цифр, разделите ее на минимальное количество подстрок таким образом, чтобы каждая подстрока содержала ровно одну уникальную цифру. Затем для каждой подстроки произнесите количество цифр, затем произнесите цифру. Наконец, объедините каждую указанную цифру.
Например, высказывание и преобразование для цифровой строки "3322251" (*во вложении)
Дается положительное целое число n, верните n-й член последовательности "посчитай и скажи".
Пример:
Ввод: n = 1
Вывод: "1"
Решение задачи
Сложность: Средняя
Условие задачи: последовательность "Посчитай и скажи" - это последовательность строк цифр, определяемая рекурсивной формулой:
посчитайте и скажите(1) = "1"
countAndSay(n) - это способ, которым вы бы "сказали" строку цифр из countAndSay(n-1), которая затем преобразуется в другую строку цифр.
Чтобы определить, как вы "произносите" строку цифр, разделите ее на минимальное количество подстрок таким образом, чтобы каждая подстрока содержала ровно одну уникальную цифру. Затем для каждой подстроки произнесите количество цифр, затем произнесите цифру. Наконец, объедините каждую указанную цифру.
Например, высказывание и преобразование для цифровой строки "3322251" (*во вложении)
Дается положительное целое число n, верните n-й член последовательности "посчитай и скажи".
Пример:
Ввод: n = 1
Вывод: "1"
Решение задачи
👍3
Международная азбука Морзе
Сложность: Лёгкая
Условие задачи: международная азбука Морзе определяет стандартную кодировку, в которой каждая буква сопоставляется с серией точек и тире следующим образом:
"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
Решение задачи
👍6❤1
Обход по времени
Сложность: Средняя
Условие задачи: предоставляется сеть из n узлов, помеченных от 1 до n. Вам также дается время, список времени прохождения в соответствии с указаниями ребер times[i] = (ui, vi, wi), где ui - исходный узел, vi - целевой узел, а wi - время, необходимое сигналу для прохождения от источника до цели.
Мы отправим сигнал с заданного узла k. Необходимо вернуть минимальное время, необходимое для приема сигнала всеми n узлами. Если все n узлов не могут принять сигнал, верните значение -1.
Пример:
Ввод: times = [[2,1,1],[2,3,1],[3,4,1]], n = 4, k = 2
Вывод: 2
Ввод: times = [[1,2,1]], n = 2, k = 1
Вывод: 1
Решение задачи
Сложность: Средняя
Условие задачи: предоставляется сеть из n узлов, помеченных от 1 до n. Вам также дается время, список времени прохождения в соответствии с указаниями ребер times[i] = (ui, vi, wi), где ui - исходный узел, vi - целевой узел, а wi - время, необходимое сигналу для прохождения от источника до цели.
Мы отправим сигнал с заданного узла k. Необходимо вернуть минимальное время, необходимое для приема сигнала всеми n узлами. Если все n узлов не могут принять сигнал, верните значение -1.
Пример:
Ввод: times = [[2,1,1],[2,3,1],[3,4,1]], n = 4, k = 2
Вывод: 2
Ввод: times = [[1,2,1]], n = 2, k = 1
Вывод: 1
Решение задачи
👍3❤1🤔1
Найти ближайший узел к заданным двум узлам
Сложность: Средняя
Условие задачи: дается ориентированный граф из n узлов, пронумерованных от 0 до n - 1, где каждый узел имеет не более одного исходящего ребра.
Граф представлен заданными 0-индексированными ребрами массива размера n, указывающими на то, что существует направленное ребро от узла i к ребрам узла[i]. Если нет исходящего ребра из i, то ребра[i] == -1.
Вам также даны два целых числа node1 и node2.
Возвращает индекс узла, до которого можно добраться как из узла 1, так и из узла 2, таким образом, чтобы максимальное расстояние от узла 1 до этого узла и от узла 2 до этого узла было сведено к минимуму. Если ответов несколько, верните узел с наименьшим индексом, а если возможного ответа не существует, верните -1.
Обратите внимание, что ребра могут содержать циклы.
Пример:
Ввод: edges = [2,2,3,-1], node1 = 0, node2 = 1
Вывод: 2
Ввод: edges = [1,2,-1], node1 = 0, node2 = 2
Вывод: 2
Решение задачи
Сложность: Средняя
Условие задачи: дается ориентированный граф из n узлов, пронумерованных от 0 до n - 1, где каждый узел имеет не более одного исходящего ребра.
Граф представлен заданными 0-индексированными ребрами массива размера n, указывающими на то, что существует направленное ребро от узла i к ребрам узла[i]. Если нет исходящего ребра из i, то ребра[i] == -1.
Вам также даны два целых числа node1 и node2.
Возвращает индекс узла, до которого можно добраться как из узла 1, так и из узла 2, таким образом, чтобы максимальное расстояние от узла 1 до этого узла и от узла 2 до этого узла было сведено к минимуму. Если ответов несколько, верните узел с наименьшим индексом, а если возможного ответа не существует, верните -1.
Обратите внимание, что ребра могут содержать циклы.
Пример:
Ввод: edges = [2,2,3,-1], node1 = 0, node2 = 1
Вывод: 2
Ввод: edges = [1,2,-1], node1 = 0, node2 = 2
Вывод: 2
Решение задачи
👍4
Разделение на палиндромы
Сложность: Средняя
Условие задачи: дается строка, необходимо разделить исходную строку таким образом, чтобы всевозможные подстроки были палиндромами.
Пример:
Ввод: s = "aab"
Вывод: [["a","a","b"],["aa","b"]]
Объяснение:
Ввод: s = "a"
Вывод: s = "a"
Решение задачи
Сложность: Средняя
Условие задачи: дается строка, необходимо разделить исходную строку таким образом, чтобы всевозможные подстроки были палиндромами.
Пример:
Ввод: s = "aab"
Вывод: [["a","a","b"],["aa","b"]]
Объяснение:
Ввод: s = "a"
Вывод: s = "a"
Решение задачи
👍4
Минимальная сумма индексов двух списков
Сложность: Лёгкая
Условие задачи: дается два массива строк list1 и list2, найдите общие строки с наименьшей суммой индексов.
Общая строка - это строка, которая появилась как в list1, так и в list2.
Общая строка с наименьшей суммой индексов - это общая строка, такая, что если она появилась в list1[i] и list2[j], то i + j должно быть минимальным значением среди всех других общих строк.
Возвращает все общие строки с наименьшей суммой индексов. Верните ответ в любом порядке.
Пример:
Ввод: list1 = ["Shogun","Tapioca Express","Burger King","KFC"], list2 = ["Piatti","The Grill at Torrey Pines","Hungry Hunter Steakhouse","Shogun"]
Вывод: ["Shogun"]
Решение задачи
Сложность: Лёгкая
Условие задачи: дается два массива строк list1 и list2, найдите общие строки с наименьшей суммой индексов.
Общая строка - это строка, которая появилась как в list1, так и в list2.
Общая строка с наименьшей суммой индексов - это общая строка, такая, что если она появилась в list1[i] и list2[j], то i + j должно быть минимальным значением среди всех других общих строк.
Возвращает все общие строки с наименьшей суммой индексов. Верните ответ в любом порядке.
Пример:
Ввод: list1 = ["Shogun","Tapioca Express","Burger King","KFC"], list2 = ["Piatti","The Grill at Torrey Pines","Hungry Hunter Steakhouse","Shogun"]
Вывод: ["Shogun"]
Решение задачи
👍4
Перестановки II
Сложность: Средняя
Условие задачи: дается список чисел, который может содержать дубликаты, необходимо вычислить всевозможные уникальные перестановки.
Пример:
Ввод: nums = [1,1,2]
Вывод: [[1,1,2],
[1,2,1],
[2,1,1]]
Ввод: nums = [1,2,3]
Вывод: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
Решение задачи
Сложность: Средняя
Условие задачи: дается список чисел, который может содержать дубликаты, необходимо вычислить всевозможные уникальные перестановки.
Пример:
Ввод: nums = [1,1,2]
Вывод: [[1,1,2],
[1,2,1],
[2,1,1]]
Ввод: nums = [1,2,3]
Вывод: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
Решение задачи
👍4
Длина последнего слова в строке
Частота встречи задач на собеседованиях за последние шесть месяцев:
Amazon — 3, Microsoft — 2, Google — 3.
Условие задачи:
Дана строка s, состоящая из слов и пробелов. Требуется вернуть длину последнего слова в строке.
Слово — это максимальная подстрока, состоящая только из символов, не содержащих пробелов.
Требуемая сложность:
O(N), N - длина строки.
Примеры:
Ввод:
Ввод:
Решение задачи
Частота встречи задач на собеседованиях за последние шесть месяцев:
Amazon — 3, Microsoft — 2, Google — 3.
Условие задачи:
Дана строка s, состоящая из слов и пробелов. Требуется вернуть длину последнего слова в строке.
Слово — это максимальная подстрока, состоящая только из символов, не содержащих пробелов.
Требуемая сложность:
O(N), N - длина строки.
Примеры:
Ввод:
s = "Hello World"
Вывод: 5
Объяснение: Последнее слово строки s "World" имеет длину 5.Ввод:
s = " fly me to the moon "
Вывод: 4
Объяснение: Последнее слово строки s "moon" имеет длину 4.Решение задачи
Одно редактирование
Сложность задачи: Средняя
Условие задачи:
Даны две строки s и t. Требуется вернуть true, если обе они находятся на расстоянии редактирования друг от друга, в противном случае вернуть false.
Говорят, что строка s находится на расстоянии редактирования от строки t, если вы можете:
• Вставить ровно один символ в s, чтобы получить t.
• Удалить ровно один символ из s, чтобы получить t.
• Заменить ровно один символ s другим символом, чтобы получить t.
Пример:
Ввод:
Ввод:
Сложность задачи: Средняя
Условие задачи:
Даны две строки s и t. Требуется вернуть true, если обе они находятся на расстоянии редактирования друг от друга, в противном случае вернуть false.
Говорят, что строка s находится на расстоянии редактирования от строки t, если вы можете:
• Вставить ровно один символ в s, чтобы получить t.
• Удалить ровно один символ из s, чтобы получить t.
• Заменить ровно один символ s другим символом, чтобы получить t.
Пример:
Ввод:
s = "ab", t = "acb"
Вывод: true
Объяснение: Мы можем вставить 'c' в s, чтобы получить t.Ввод:
s = "", t = ""
Вывод: false
Решение задачи👍2
Длина последнего слова в строке
Частота встречи задач на собеседованиях за последние шесть месяцев:
Amazon — 3, Microsoft — 2, Google — 3.
Условие задачи:
Дана строка s, состоящая из слов и пробелов. Требуется вернуть длину последнего слова в строке.
Слово — это максимальная подстрока, состоящая только из символов, не содержащих пробелов.
Требуемая сложность:
O(N), N - длина строки.
Примеры:
Ввод:
Ввод:
Решение задачи
Частота встречи задач на собеседованиях за последние шесть месяцев:
Amazon — 3, Microsoft — 2, Google — 3.
Условие задачи:
Дана строка s, состоящая из слов и пробелов. Требуется вернуть длину последнего слова в строке.
Слово — это максимальная подстрока, состоящая только из символов, не содержащих пробелов.
Требуемая сложность:
O(N), N - длина строки.
Примеры:
Ввод:
s = "Hello World"
Вывод: 5
Объяснение: Последнее слово строки s "World" имеет длину 5.Ввод:
s = " fly me to the moon "
Вывод: 4
Объяснение: Последнее слово строки s "moon" имеет длину 4.Решение задачи
❤1
Минимальное большее
Сложность: Лёгкая
Условие задачи: задан массив букв символов, отсортированных в порядке неубывания, и целевой символ. В буквах есть по крайней мере два разных символа.
Необходимо вернуть наименьший символ в буквах, который лексикографически больше целевого. Если такого символа не существует, верните первый символ буквами.
Пример:
Ввод: letters = ["c","f","j"], target = "a"
Вывод: "c"
Ввод: letters = ["c","f","j"], target = "c"
Вывод: "f"
Решение задачи
Сложность: Лёгкая
Условие задачи: задан массив букв символов, отсортированных в порядке неубывания, и целевой символ. В буквах есть по крайней мере два разных символа.
Необходимо вернуть наименьший символ в буквах, который лексикографически больше целевого. Если такого символа не существует, верните первый символ буквами.
Пример:
Ввод: letters = ["c","f","j"], target = "a"
Вывод: "c"
Ввод: letters = ["c","f","j"], target = "c"
Вывод: "f"
Решение задачи
👍4❤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]
Решение задачи
👍4❤1