लक्ष्य:
स्ट्रिंग की एक सरणी को देखते हुए, प्रत्येक स्ट्रिंग के संक्षिप्त संस्करण बनाएं।
विशिष्टता:
इस चुनौती के लिए, एक संक्षिप्त नाम स्ट्रिंग का पहला एन अक्षर है। स्ट्रिंग के लिए 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
गुरुवार के लिए एक लोअरकेस ।