पृष्ठभूमि
तीन साल पहले, इस लड़के टॉम मर्फी ने एक भाषा में सभी शब्दों के लिए एक पोर्टमंट्यू के विचार का विस्तार करने के लिए इसे अपने सिर में मिला लिया और इसे पोर्टमांउटआउट ( पोर्टमैंटेओ प्लस टाउट [ सभी के लिए फ्रेंच ]) कहा। अंग्रेजी को 108,709 शब्दों की सूची के रूप में परिभाषित करते हुए, वह निम्नलिखित दो गुणों के साथ 611,820 अक्षरों का एक क्रम खोजने में कामयाब रहे:
- हर अंग्रेजी शब्द स्ट्रिंग में समाहित है।
- स्ट्रिंग में किसी भी दो आसन्न अक्षरों वाले कुछ पड़ोस एक अंग्रेजी शब्द है।
यहां एक पृष्ठ का लिंक दिया गया है, जिस पर यह पोर्टमंटआउट पाया जा सकता है (एक वीडियो स्पष्टीकरण के साथ)।
एक पोर्टमांउटआउट
पोर्टमैटआउट के दो गुणों में से पहला समझना आसान है। दूसरे को कुछ स्पष्टीकरण की आवश्यकता हो सकती है।
मूल रूप से, शब्दों को ओवरलैप करना होगा। "गोल्फकोड" कभी भी अंग्रेजी के किसी पोर्टमिंटआउट में दिखाई नहीं देगा, क्योंकि इसमें कोई शब्द नहीं है जिसमें "एफसी" शामिल है। हालाँकि, आपको "कोडगोल्फ" एक पोर्टमांउटआउट में मिल सकता है, "अहंकार" के अंतर को पाटता है (और अन्य सभी अक्षर "कोड" या "गोल्फ" में हैं)।
आपका कार्य:
एक प्रोग्राम या फ़ंक्शन लिखें जो स्ट्रिंग्स की एक सूची लेता है और सूची के किसी भी पोर्टमंटआउट को वापस करता है।
यह पायथन 3 कोड एक पोर्टमिंटआउट को सत्यापित करेगा।
परीक्षण के मामलों
सभी सूचियां अनियंत्रित हैं; अर्थात्,
{"code", "ego", "golf"} -> "codegolf"
{"more", "elm", "maniac"} -> "morelmaniac" or "morelmorelmaniac" or "morelmorelmorelmaniac" or...
Would a morelmaniac be some sort of mycologist?
{"ab", "bc", "cd", "de", "ef", "fg", "gh", "hi", "ij", "jk", "kl", "lm", "mn", "no", "op", "pq", "qr", "rs", "st", "tu", "uv", "vw", "wx", "xy", "yz", "za"} -> "abcdefghijklmnopqrstuvwxyza" or "rstuvwxyzabcdefghijklmnopqrstuvwxyzabcdef" or any 27+ letters in order
और क्यों नहीं? यदि आपका कोड उचित समय के भीतर निष्पादित होता है, तो मर्फी की साइट पर विशाल।
नियम
- आपके कोड को रोकना होगा।
- आपको प्रत्येक निष्पादन के साथ एक ही पोर्टमिंटआउट वापस करने की आवश्यकता नहीं है।
- आप मान सकते हैं कि सभी तार केवल निचले अक्षरों
a
से मिलकर बने होते हैंz
। - यदि कोई पोर्टमेन्टआउट संभव नहीं है, तो आपका प्रोग्राम कुछ भी कर सकता है। उदाहरण के लिए:
{"most", "short", "lists"}
- आई / ओ और खामियों के लिए मानक नियम लागू होते हैं।
यह कोड-गोल्फ है , इसलिए प्रत्येक भाषा में सबसे छोटा समाधान (बाइट्स में) जीतता है! हैप्पी गोल्फिंग!
{"sic", "bar", "rabbits", "cradle"} -> "barabbitsicradle"
{"mauve", "elated", "cast", "electric", "tame"} -> "mauvelectricastamelated"
(अधिक परीक्षण के मामले)