समान लंबाई के दो तारों के बीच की हैमिंग दूरी उन पदों की संख्या है, जिस पर संबंधित वर्ण भिन्न होते हैं। यदि तार समान लंबाई के नहीं हैं, तो हैमिंग दूरी परिभाषित नहीं है।
चुनौती
एक प्रोग्राम या फ़ंक्शन लिखें, जो कि नीचे वर्णित नियमों के अनुसार आवश्यक तार की सूची से तार के सभी जोड़े के बीच से सबसे बड़ी हैमिंग दूरी पाता है।
पात्र भीतर से होंगे a-zA-Z0-9
।
तार लंबाई में समान नहीं हो सकते हैं, इसलिए प्रत्येक तुलना के लिए छोटी स्ट्रिंग को निम्नानुसार गद्देदार करना होगा:
- आवश्यक लंबाई से मेल खाने के लिए शुरुआत से ही स्ट्रिंग को कई बार लपेटें
- प्रत्येक विषम समय रैपिंग (1, 3, 5 वां, आदि) अक्षरों के मामलों को बदलें
a-zA-Z
लपेटते समय अपरिवर्तित चीजों को छोड़ दें
उदाहरण के लिए, मान लें कि आपको 5 वर्ण स्ट्रिंग को पैड करने की आवश्यकता है ab9Cd
ताकि यह 18 वर्णों के साथ समाप्त हो जाए। आप के साथ समाप्त होगा:
ab9CdAB9cDab9CdAB9
^^^^^ ^^^
साथ ^
मामले परिवर्तन करने के लिए प्रकाश डाला करने के लिए 1 और 3 के लेप के नीचे गयी।
इनपुट आउटपुट
इनपुट / आउटपुट प्रारूप लचीला है। आप मान सकते हैं कि इनपुट में कम से कम दो स्ट्रिंग्स हैं, और सभी स्ट्रिंग्स में कम से कम एक वर्ण होगा।
आउटपुट एक पूर्णांक है।
नियम
यह कोड-गोल्फ है । मानक नियम लागू होते हैं।
परीक्षण के मामलों
[ "a", "b" ] => 1
[ "a", "b", "c" ] => 1
[ "a", "a", "c" ] => 1
[ "abc", "abcd" ] => 1
[ "abc12D5", "abC34d3", "ABC14dabc23DAbC89d"] => 17
[ "a", "Aaa", "AaaA", "aAaAa", "aaaaaaaaaaaaaa", "AAaAA", "aAa" ] => 8
["AacaAc", "Aab"] => 2
संदर्भ कार्यान्वयन
मैंने (पूरी तरह से ungolfed) R कोड के साथ उदाहरणों का परीक्षण किया है कि आप यहां उन अन्य उदाहरणों की तुलना करने की कोशिश कर सकते हैं जिन्हें आप अपने कोड के साथ आज़मा सकते हैं।
["AacaAc", "Aab"] => 2
। मेरे जेली जवाब के लिए एक purposed गोल्फ उस मामले में विफल रहा होगा, लेकिन अन्य सभी को पारित करेगा।