Giả sử chúng ta có một danh sách các từ, cần khung lại chúng trong một vùng hình chữ nhật, dòng theo dòng. Xem ví dụ dưới đây để hiểu rõ hơn.
Nếu đầu vào là ['hello', 'world', 'python', 'programming', 'nice'], đầu ra sẽ là:
*************** * hello * * world * * python * * programming * * nice * ***************
Các bước giải quyết
l:= độ dài của từ dài nhất trong mảngst:= chuỗi dấu sao (*) lặp lại(l + 4)lần- Với mỗi từ
itrong danh sách:st:= nối thêm'* ' + i + ' ' * (l - len(i) + 1) + '*'
st:= nối thêm chuỗi dấu sao(l + 4)lần vào cuối- Trả về
st
Ví dụ mã Python
class Solution:
def solve(self, words):
l = max(len(x) for x in words)
st = '*' * (l + 4) + '\n'
for i in words:
st += '* ' + i + ' ' * (l - len(i) + 1) + '*\n'
return st + '*' * (l + 4)
ob = Solution()
words = ['hello', 'world', 'python', 'programming', 'nice']
print(ob.solve(words))
Đầu vào
['hello', 'world', 'python', 'programming', 'nice']
Đầu ra
*************** * hello * * world * * python * * programming * * nice * ***************