Ваша задача сьогодні - взяти багаторядковий рядок і вивести найбільшу площу, що міститься в рядку, що включає верхній лівий кут.
Квадратний рядок - це той, де:
- Кожен рядок має однакову кількість символів
- Кількість символів у кожному рядку дорівнює кількості рядків.
Розглянемо наступний можливий рядок введення:
abcde
fgh
asdf
foobar
Найбільший квадрат, який ви можете взяти з нього, який включає перший символ ( aу верхньому куті):
abc
fgh
asd
Не може бути квадрата довжини сторони 4, оскільки другий рядок недостатньо довгий. Тепер розглянемо цей потенційний внесок:
a
bcd
edf
ghi
Найбільша площа тут просто a. Квадрат 3x3, сформований внизу, не містить самого першого символу і не рахується.
Ось ще кілька тестових випадків:
a
a
abc
def
gh
ab
de
ab
cd
ab
cd
abcde
fghij
klm
no
abc
fgh
klm
a
b
a
Ви можете вимагати, щоб введення було обмежене вибором LF, CR або CRLF.
Символи (символи) нового рядка не вважаються частиною довжини рядка.
Ви можете вимагати, щоб у введенні був новий або наступний рядок, який не враховується як додатковий рядок.
Вхід - це рядок або 1D масив char; це не список рядків.
Ви можете припустити, що введення не порожнє, і всі рядки є не порожніми, і що він містить лише друкований ASCII, включаючи пробіли та нові рядки (для роздільника рядків), але не вкладки.
Це кодовий гольф , найменше виграш байтів!
.split('\n')тому я не розумію, чому деякі повинні отримати його безкоштовно.