บทนำ
ลองสังเกตสตริงต่อไปนี้:
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ใช่ว่าจะส่งผลในการ