Программа курса:
Внимание! Решать задачи может только авторизованный
пользователь. Пройдите регистрацию на сайте.
Задача 7: Количество строк для записи строки
Напишите определение функции numberOfLines(widths, s), которая принимает два аргумента:
widths— массив из 26 целых чисел, гдеwidths[0]соответствует ширине буквы 'a',widths[1]— ширине буквы 'b' и так далее.s— строку, состоящую из строчных букв английского алфавита.
Функция должна определить, как строка s может быть записана по строкам, где каждая строка имеет ширину не более 100 пикселей. Она должна вернуть массив result длиной 2:
result[0]— общее количество строк.result[1]— ширина последней строки в пикселях.
Пример 1:
Ввод:
widths = [10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10],
s = "abcdefghijklmnopqrstuvwxyz"Вывод:[3, 60]
Объяснение:
Строка записывается следующим образом:
abcdefghij // 100 пикселей
klmnopqrst // 100 пикселей
uvwxyz // 60 пикселей
Итого: 3 строки, последняя строка имеет ширину 60 пикселей.
Пример 2:
Ввод:widths = [4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10],s = "bbbcccdddaaa"
Вывод:[2, 4]
Объяснение:
Строка записывается следующим образом:
bbbcccdddaa // 98 пикселей
a // 4 пикселя
Итого: 2 строки, последняя строка имеет ширину 4 пикселя.
Filaret
,Проверьте, пожалуйста, проверку этой задачи. С ней явно что-то не так. Написал два решения, которые полностью прошли проверку, при этом вот это:
даже не должно было скомпилироваться (я это понял только через пару минут после его запуска), а второе:
должно было запороться на втором тесте.
Дополнение: проходит даже решение