เป้าหมาย:
กำหนดอาร์เรย์ของสตริงสร้างเวอร์ชันย่อของแต่ละสตริง
รายละเอียด:
สำหรับความท้าทายนี้ตัวย่อคืออักขระ N ตัวแรกของสตริง สำหรับสตริงabc
: a
, ab
และabc
ทั้งหมดเป็นตัวย่อที่ถูกต้องในขณะที่bc
และac
ไม่ใช่
ด้วยอาร์เรย์ของสตริงเราต้องการค้นหาชุดย่อที่สั้นที่สุดเช่นที่ได้รับจากอินพุตและตัวย่อใด ๆ คุณสามารถกำหนดว่ารายการใดของอินพุตที่ตัวย่อถูกอ้างถึง
ตัวอย่าง:
การป้อนข้อมูล: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
เราทำงานผ่านสายที่เริ่มต้นด้วยสายแรก
วันจันทร์เป็นเพียงสตริงรายการด้วยดังนั้นย่อที่สั้นที่สุดคือ
M
M
วันอังคารเริ่มต้นด้วย
T
แต่วันพฤหัสบดีก็เช่นกันTU
วิธีการนี้ที่เราพยายามสตริง เนื่องจากไม่มีสายอื่น ๆTU
ที่เริ่มต้นด้วยการที่เราจะใช้วันพุธ
W
, วันพฤหัสบดีและวันศุกร์คือTh
F
ตัวอย่างเพิ่มเติม:
Input: "one,two,three,four,five,six,seven"
Output: "o,tw,th,fo,fi,si,se"
Input: "red,orange,yellow,green,blue,purple"
Output: "r,o,y,g,b,p"
Input: "a,ab,abc"
Output: Not valid! No abbreviation for `a` that doesn't apply to the other items.
หมายเหตุ:
คุณสร้างอินพุตและเอาต์พุตด้วยวิธีที่สมเหตุสมผล
คุณสามารถสันนิษฐานได้ว่าอินพุตนั้นจะเป็นอาร์เรย์ของสตริงที่ถูกต้องเสมอ
คุณสามารถสันนิษฐานได้ว่าจะมีทางออกเสมอเหมือนในกรณีทดสอบครั้งสุดท้าย
สตริงจะประกอบด้วย ASCII ที่พิมพ์ได้เท่านั้น (หรืออักขระที่พิมพ์ได้ในการเข้ารหัสของคุณ)
นี่คือรหัสกอล์ฟดังนั้นไบต์ที่น้อยที่สุดจึงชนะ!
U
สำหรับวันอังคาร แต่เป็นตัวพิมพ์เล็กh
สำหรับวันพฤหัสบดี