19
สตริงย่อยที่ไม่ซ้ำกันสั้นที่สุด
อินพุต sสตริงตัวอักษรและตัวเลข เอาท์พุต สตริงที่สั้นที่สุดที่เกิดขึ้นครั้งว่าเป็น (ติดกัน) substring sใน การซ้อนทับที่เกิดขึ้นนับว่าแตกต่างกัน หากมีผู้สมัครหลายรายที่มีความยาวเท่ากันคุณจะต้องส่งออกทั้งหมดตามลำดับที่ปรากฏ ในความท้าทายนี้สตริงว่างเกิดขึ้นครั้งในสตริงของความยาวn + 1n ตัวอย่าง พิจารณาสตริง "asdfasdfd" สตริงว่างเกิดขึ้น 10 ครั้งดังนั้นจึงไม่ใช่ตัวเลือกสำหรับการเกิดที่ไม่ซ้ำกัน แต่ละตัวอักษร"a", "s"และ"d", "f"เกิดขึ้นอย่างน้อยสองครั้งจึงไม่ได้เป็นผู้สมัคร สตริงย่อย"fa"และ"fd"เกิดขึ้นเพียงครั้งเดียวและตามลำดับนี้ในขณะที่สตริงย่อยอื่นที่มีความยาว 2 เกิดขึ้นสองครั้ง ดังนั้นผลลัพธ์ที่ถูกต้องคือ ["fa","fd"] กฎระเบียบ อนุญาตให้ใช้ทั้งฟังก์ชั่นและโปรแกรมเต็มรูปแบบและช่องโหว่มาตรฐานไม่ได้ การจัดรูปแบบที่แน่นอนของผลลัพธ์มีความยืดหยุ่นด้วยเหตุผล โดยเฉพาะอย่างยิ่งไม่อนุญาตให้สร้างเอาต์พุตสำหรับสตริงว่างเปล่า แต่การโยนข้อผิดพลาดไม่ใช่ จำนวนไบต์ต่ำสุดชนะ กรณีทดสอบ "" -> [""] "abcaa" -> ["b","c"] "rererere" -> ["ererer"] "asdfasdfd" -> ["fa","fd"] "ffffhhhhfffffhhhhhfffhhh" -> ["hffff","fffff","hhhhh","hfffh"] "asdfdfasddfdfaddsasadsasadsddsddfdsasdf" -> …