Thử thách của bạn hôm nay là lấy một chuỗi nhiều dòng và xuất ra hình vuông lớn nhất chứa trong chuỗi bao gồm góc trên cùng bên trái.
Một chuỗi vuông là một trong đó:
- Mỗi dòng có cùng số ký tự
- Số lượng ký tự trên mỗi dòng bằng số lượng dòng.
Hãy xem xét chuỗi đầu vào có thể sau đây:
abcde
fgh
asdf
foobar
Hình vuông lớn nhất bạn có thể lấy từ nó bao gồm ký tự đầu tiên ( a
ở góc topleft) là:
abc
fgh
asd
Không thể có một hình vuông có chiều dài 4 cạnh, bởi vì dòng thứ hai không đủ dài. Bây giờ hãy xem xét đầu vào tiềm năng này:
a
bcd
edf
ghi
Quảng trường lớn nhất ở đây chỉ là a
. Hình vuông 3x3 được hình thành ở phía dưới không chứa ký tự đầu tiên và không được tính.
Dưới đây là một vài trường hợp thử nghiệm:
a
a
abc
def
gh
ab
de
ab
cd
ab
cd
abcde
fghij
klm
no
abc
fgh
klm
a
b
a
Bạn có thể yêu cầu đầu vào được phân định bởi sự lựa chọn của bạn về LF, CR hoặc CRLF.
(Các) ký tự dòng mới không được coi là một phần của độ dài của dòng.
Bạn có thể yêu cầu phải có hoặc không có dòng mới trong đầu vào, không được tính là một dòng bổ sung.
Đầu vào là một chuỗi char hoặc 1D; nó không phải là một danh sách các chuỗi
Bạn có thể giả sử đầu vào không trống và tất cả các dòng đều không trống và nó chỉ chứa ASCII có thể in được, bao gồm cả khoảng trắng và dòng mới (đối với dấu phân cách dòng) chứ không phải các tab.
Đây là mã golf , ít byte thắng nhất!
.split('\n')
vì vậy tôi không hiểu tại sao một số người nên nhận nó miễn phí.