पृष्ठभूमि
मेरे पास शक्तिशाली मैग्नेट की एक पंक्ति है और उनके बीच धातु की वस्तुओं का एक गुच्छा है। चुम्बक उन्हें कहाँ खींचेंगे?
इनपुट
आपका इनपुट गैर-नकारात्मक पूर्णांक का एक सरणी है, जिसमें कम से कम एक होगा 1। आप किसी भी उचित प्रारूप का उपयोग कर सकते हैं।
0सरणी के रों खाली जगह का प्रतिनिधित्व करते हैं, और 1रों तय मैग्नेट प्रतिनिधित्व करते हैं। अन्य सभी संख्याएं धातु की वस्तुएं हैं, जिन्हें चुम्बकों द्वारा खींचा जाता है। प्रत्येक वस्तु निकटतम चुंबक की ओर खींची जाती है (यदि कोई टाई है, तो वस्तु दाईं ओर खींची जाती है), और यह उस दिशा में यात्रा करती है जब तक कि वह चुंबक या किसी अन्य वस्तु से न टकराए। अंत में, सभी ऑब्जेक्ट मैग्नेट के चारों ओर क्लस्टर हो गए। वस्तुओं का क्रम संरक्षित है।
उत्पादन
आपका आउटपुट वह सरणी है जहां हर वस्तु को निकटतम चुंबक के करीब संभव के रूप में खींचा गया है। इसमें इनपुट के समान प्रारूप होना चाहिए।
उदाहरण
सरणी पर विचार करें
[0,0,2,0,1,1,0,2,0,3,0,5,0,1,0]
बाईं 2ओर मैग्नेट की पहली जोड़ी की ओर खींचा जाता है, जैसा कि दूसरा है 2। 3एक चुंबक चार चरणों दोनों दिशाओं में दूर है, इसलिए यह सही करने के लिए खींच लिया हो जाता है। यह 5भी दाईं ओर खींचा जाता है, और यह 3और चुंबक के बीच चला जाता है । सही आउटपुट है
[0,0,0,2,1,1,2,0,0,0,0,3,5,1,0]
नियम और स्कोरिंग
आप एक पूर्ण कार्यक्रम या एक फ़ंक्शन लिख सकते हैं। सबसे कम बाइट गिनती जीतता है, और मानक खामियों को रोक दिया जाता है।
परीक्षण के मामलों
[0,1,0] -> [0,1,0]
[1,0,2,0,0,1,0] -> [1,2,0,0,0,1,0]
[7,0,5,0,0,1,0] -> [0,0,0,7,5,1,0]
[1,0,3,0,1,0,3,0,1] -> [1,0,0,3,1,0,0,3,1]
[1,0,0,0,0,0,0,7,3] -> [1,7,3,0,0,0,0,0,0]
[1,2,3,4,5,6,7,8,9,10,11,0,0,0,1] -> [1,2,3,4,5,6,7,0,0,0,8,9,10,11,1]
[12,3,0,0,1,0,1,3,0,0,6,12,0,0,0,1] -> [0,0,12,3,1,0,1,3,6,0,0,0,0,0,12,1]
1करना एक अच्छा विचार है!