Дана строка str и целочисленный массив width [] где:
width[0] = width of character ‘a’
width[1] = width of character ‘b’
…
width[25] = width of character ‘z’
Задача состоит в том, чтобы найти количество строк, которое потребуется для записи строки str на бумаге, и ширину последней строки, до которой она занята.
Примечание: ширина линии составляет 10 единиц .
Примеры:
Input: str = “bbbcccdddaa”,
width[] = {4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
Output: (2, 8)
“bbbcccddd” will cover first line (9 * 1 = 9 units)
As ‘a’ has a width of 4 which cannot fit the remaining 1 unit in the first line.
It’ll have to be written in the second line.
So, next line will contain “aa” covering 4 * 2 = 8 units.
We need 1 full line and one line with width 8 units.Input: str = “abcdefghijklmnopqrstuvwxyz”,
width[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
Output: (3, 6)
All the characters have the same width of 1. To write all 26 characters,
We need 2 full lines and one line with width 6 units.
Подход: мы будем записывать каждый символ в строке str один за другим. Когда мы пишем символ, мы немедленно обновляем (линии, ширина), который отслеживает, сколько строк мы использовали до сих пор и какова длина используемого пространства в последней строке.
Если ширина [char] в str соответствует нашей текущей строке, мы добавим ее. В противном случае мы начнем с новой строки
Ниже приведена реализация вышеуказанного подхода:
|
Выход:
(2, 8)
Рекомендуемые посты:
- Минимальное количество заданных операций, необходимых для преобразования строки в другую строку
- Минимальные изменения, необходимые для создания первой строки подстроки второй строки
- Напишите программу для печати всех перестановок данной строки
- Напишите программу для обратного массива или строки
- Количество спичек, необходимых для представления данного числа
- Подсчитайте количество операций переноса, необходимых для добавления двух чисел
- Минимальные сокращения, необходимые для преобразования палиндромной нити в другую палиндромную нить
- Минимальные повороты, необходимые для получения одинаковой строки
- Минимальные повороты, необходимые для получения той же строки | Set-2
- Требуются минимальные изменения, чтобы строка удовлетворяла заданному условию
- Операции, необходимые для того, чтобы сделать строку пустой
- Минимальные свопы, необходимые для преобразования одной двоичной строки в другую
- Максимальная сила прыжка, необходимая для достижения конца строки
- Повторите подстроки данной строки необходимое количество раз
- Минимум заданных операций, необходимых для преобразования заданной двоичной строки во все 1
0.00 (0%) 0 votes