समस्या का विवरण
हम सभी एक ट्विक्स से प्यार करते हैं (क्योंकि यह सबसे अच्छी कैंडी है), लेकिन यह बच्चों की पहली हैलोवीन है --- हम उनके लिए प्रत्येक प्रकार की कैंडी में से कम से कम एक को पकड़ेंगे। प्रत्येक हेलोवीन नंबरलाइन एवेन्यू के सभी निवासी यह कहते हुए एक ईमेल भेजते हैं कि इस वर्ष वे किस प्रकार की कैंडी देंगे।
ओह! और हम 1 डी दुनिया में रहते हैं।
कुछ मायनों में असाधारण रूप से आलसी होने के कारण और दूसरों में नहीं, हमने मकानों का एक नक्शा बनाया है जो सड़क के किनारे स्थित हैं। हमने उनके पास कैंडी के प्रकार भी नोट किए। यहाँ हम इस वर्ष के लिए बनाया गया नक्शा है:
[(-2, {"Kisses", "KitKats"}),
(1, {"KitKats", "Peanut Butter Cups"}),
(6, {"Kisses", "Twix"}),
(9, {"Skittles"}),
(10, {"Twix"})]
बच्चों के छोटे पैरों की खातिर, हमें कम से कम प्रत्येक प्रकार के कैंडी में से एक को इकट्ठा करने के लिए पड़ोस के किसी भी घर से शुरू होने वाले सबसे कम चलने की आवश्यकता है ।
उदाहरण
कुछ उपयोगकर्ताओं (शैगी सहित) के अनुरोध पर, मैं कुछ काम किए गए उदाहरणों में टॉस करूंगा। उम्मीद है कि इससे चीजें साफ होंगी। :) इनपुट:
[(-2, {"Kisses", "KitKats"}),
(1, {"KitKats", "Peanut Butter Cups"}),
(6, {"Kisses", "Twix"}),
(9, {"Skittles"}),
(10, {"Twix"})]
आउटपुट:
[1, 2, 3]
एक और नक्शा और समाधान ...
इनपुट:
[(-3, {"KitKats", "Twix"}),
(-1, {"Hundred Grands"}),
(3, {"Kisses"}),
(12, {"Hundred Grands", "Twix", "KitKats"})]
आउटपुट :
[0, 1, 2]
हम 9 घरों में कैंडीज इकट्ठा करने वाले 9 घर का समन्वय शुरू कर सकते हैं और 1. यह 8 इकाइयों को चलाकर कैंडी कोटा भरता है, लेकिन क्या यह सबसे छोटा समाधान है?
नियम
उदाहरण के लिए प्रविष्टियों को समान रूप से संरचित एकल तर्क में ले जाना चाहिए और सबसे कम समाधान में आने के लिए घरों के सूचकांकों का उत्पादन करना चाहिए ।
विशिष्ट कोड गोल्फ नियम लागू होते हैं: बाइट्स जीत में सबसे छोटा सही समाधान!
PS यह दुनिया की सबसे बड़ी टेक कंपनियों में से एक द्वारा दिया गया एक साक्षात्कार प्रश्न था। यदि आपको गोल्फ पसंद नहीं है, तो एक ओ (k * n) समय समाधान खोजने की कोशिश करें जहां k कैंडी प्रकार की संख्या है और n घरों की संख्या है।
संपादित करें
जैसा कि जोनाथन एलन ने बताया, कुछ भ्रम इस मामले में "सूचकांकों" का अर्थ है। हम तर्क सूची में घरों की स्थिति का उत्पादन करना चाहते हैं और लेन पर उनके निर्देशांक नहीं।