исходный код | Гитхаб
10. Сопоставление регулярных выражений
Имея входную строку s
и шаблон p
, реализуйте сопоставление регулярных выражений с поддержкой '.'
и '*'
, где:
'.'
Соответствует любому одиночному символу.'*'
Соответствует нулю или более предшествующих элементов.
Сопоставление должно охватывать всю входную строку (не частично).
Пример 1:
Input: s = "aa", p = "a" Output: false Explanation: "a" does not match the entire string "aa".
Пример 2:
Input: s = "aa", p = "a*" Output: true Explanation: '*' means zero or more of the preceding element, 'a'. Therefore, by repeating 'a' once, it becomes "aa".
Пример 3:
Input: s = "ab", p = ".*" Output: true Explanation: ".*" means "zero or more (*) of any character (.)".
Ограничения:
1 <= s.length <= 20
1 <= p.length <= 30
s
содержит только строчные английские буквы.p
содержит только строчные латинские буквы,'.'
и'*'
.- Гарантируется, что для каждого появления символа
'*'
будет соответствовать предыдущий допустимый символ.
11. Контейнер с наибольшим количеством воды
Вам дан массив целых чисел height
длины n
. Нарисовано n
вертикальных линий, так что двумя конечными точками линии ith
являются (i, 0)
и (i, height[i])
.
Найдите две линии, которые вместе с осью абсцисс образуют контейнер, содержащий наибольшее количество воды.
Возвращает максимальное количество воды, которое может храниться в контейнере.
Обратите внимание, что вы не можете наклонять контейнер.
Пример 1:
Input: height = [1,8,6,2,5,4,8,3,7] Output: 49 Explanation: The above vertical lines are represented by array [1,8,6,2,5,4,8,3,7]. In this case, the max area of water (blue section) the container can contain is 49.
Пример 2:
Input: height = [1,1] Output: 1
Ограничения:
n == height.length
2 <= n <= 105
0 <= height[i] <= 104
12. Целое число в римское
Римские цифры представлены семью различными символами: I
, V
, X
, L
, C
, D
и M
.
Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1000
Например, 2
записывается как II
римскими цифрами, просто две единицы складываются вместе. 12
записывается как XII
, то есть просто X + II
. Число 27
записывается как XXVII
, то есть XX + V + II
.
Римские цифры обычно пишутся слева направо от большего к меньшему. Однако цифра четыре не IIII
. Вместо этого цифра четыре записывается как IV
. Так как единица предшествует пятерке, мы вычитаем ее и получаем четыре. Тот же принцип применим к числу девять, которое записывается как IX
. Есть шесть случаев, когда используется вычитание:
I
можно поставить передV
(5) иX
(10), чтобы получились 4 и 9.X
можно поставить передL
(50) иC
(100), чтобы получилось 40 и 90.C
можно поставить передD
(500) иM
(1000), чтобы получилось 400 и 900.
Дано целое число, преобразовать его в римскую цифру.
Пример 1:
Input: num = 3 Output: "III" Explanation: 3 is represented as 3 ones.
Пример 2:
Input: num = 58 Output: "LVIII" Explanation: L = 50, V = 5, III = 3.
Пример 3:
Input: num = 1994 Output: "MCMXCIV" Explanation: M = 1000, CM = 900, XC = 90 and IV = 4.
Ограничения:
1 <= num <= 3999