Giới thiệu
Hãy quan sát chuỗi sau:
AABBCCDDEFFGG
Bạn có thể thấy rằng mọi chữ cái đã được sao chép , ngoại trừ chữ cái E
. Điều đó có nghĩa là bức thư E
đã được sao chép lại . Vì vậy, điều duy nhất chúng ta cần làm ở đây là đảo ngược quá trình đó, cung cấp cho chúng ta chuỗi không trùng lặp sau:
AABBCCDDEEFFGG
Hãy lấy một ví dụ khó hơn:
AAAABBBCCCCDD
Bạn có thể thấy rằng có một số lượng không đồng đều liên tiếp B
, vì vậy điều đó có nghĩa là một trong số đó BB
đã được sao chép lại từ chuỗi ban đầu. Chúng tôi chỉ cần hủy bỏ trùng lặp thư này, cung cấp cho chúng tôi:
AAAABBBBCCCCDD
Các thách thức
Cho một chuỗi không trùng lặp không trống , chỉ bao gồm các ký tự chữ cái (chỉ viết hoa hoặc chỉ viết thường), trả về chuỗi không trùng lặp . Bạn có thể giả định rằng sẽ luôn có ít nhất một ký tự được nhân đôi trong chuỗi.
Các trường hợp thử nghiệm
AAABBBCCCCDDDD --> AAAABBBBCCCCDDDD
HEY --> HHEEYY
AAAAAAA --> AAAAAAAA
N --> NN
OOQQO --> OOQQOO
ABBB --> AABBBB
ABBA --> AABBAA
Đây là môn đánh gôn , vì vậy bài nộp hợp lệ ngắn nhất tính bằng byte sẽ thắng!
ABBB
bản đồ đến AABBBB
, không AABBBBBB
?
A BB B
. Các ký tự không được ghép nối (và do đó không được sao chép) cần được sao chép, dẫn đến AA BB BB
, đó là chuỗi không được sao chép.
AABBBB
.