บทนำ
ลองสังเกตสตริงต่อไปนี้:
AABBCCDDEFFGG
คุณจะเห็นว่าจดหมายทุกฉบับได้รับการซ้ำE
ยกเว้นตัวอักษร นั่นหมายความว่าตัวอักษรที่E
ได้รับde-ซ้ำ ดังนั้นสิ่งเดียวที่เราต้องทำที่นี่คือการย้อนกระบวนการนั้นซึ่งทำให้เราไม่ได้ทำซ้ำสตริงต่อไปนี้:
AABBCCDDEEFFGG
ลองตัวอย่างที่ยากกว่านี้:
AAAABBBCCCCDD
คุณจะเห็นว่ามีจำนวนติดต่อกันไม่สม่ำเสมอB
ดังนั้นหมายความว่าหนึ่งในBB
นั้นถูกทำซ้ำจากสตริงเดิม เราจำเป็นต้องยกเลิกการคัดลอกจดหมายฉบับนี้ซึ่งทำให้เรา:
AAAABBBBCCCCDD
ความท้าทาย
รับสตริงที่ไม่ซ้ำกันที่ไม่ว่างประกอบด้วยอักขระที่เป็นตัวอักษรเท่านั้น (ไม่ว่าจะเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กเท่านั้น) ให้ส่งคืนสตริงที่ไม่ซ้ำกัน คุณสามารถสันนิษฐานได้ว่าจะมีอักขระที่ซ้ำกันอย่างน้อยหนึ่งตัวในสตริงเสมอ
กรณีทดสอบ
AAABBBCCCCDDDD --> AAAABBBBCCCCDDDD
HEY --> HHEEYY
AAAAAAA --> AAAAAAAA
N --> NN
OOQQO --> OOQQOO
ABBB --> AABBBB
ABBA --> AABBAA
นี่คือรหัสกอล์ฟดังนั้นการส่งที่ถูกต้องสั้นที่สุดในหน่วยไบต์ชนะ!
ABBB
แมปไปAABBBB
ไม่ได้AABBBBBB
?
A BB B
คุณจะได้รับต่อไปนี้: อักขระที่ไม่ได้จับคู่ (และดังนั้นจึงไม่ซ้ำกัน) จะต้องมีการทำซ้ำส่งผลให้เกิดAA BB BB
ซึ่งเป็นสตริงที่ไม่ซ้ำกัน
AABBBB
ใช่ว่าจะส่งผลในการ