उद्देश्य
मूल स्क्रैम्बल सूची उत्पन्न करें, उन आंदोलनों से जो एक सम्मिलन सॉर्ट इसे सॉर्ट करने के लिए करेंगे। मूल सूची से सभी नंबरों को होगा 0
करने के लिए N-1
(सम्मिलित) जहां N
इनपुट के का आकार है।
इनपुट
सूची को सॉर्ट करने के लिए आवश्यक चाल वाली एक सूची। प्रत्येक मान उसकी सही स्थिति में होने के लिए मूल (तले हुए) संख्या द्वारा विस्थापित स्लॉट की मात्रा का प्रतिनिधित्व करता है, ध्यान रखें कि यह प्रक्रिया बाएं से दाएं है। इनपुट सूची में
मान (0-अनुक्रमित) स्थिति के i
बीच 0
और i
समावेशी होगा।
आपको अमान्य इनपुट को संभालने की आवश्यकता नहीं है, इस मामले में कोई भी व्यवहार स्वीकार्य है (क्रैश, अनंत लूप, आदि)।
उत्पादन
तले हुए सूची
कदम-दर-कदम कदमों को उत्पन्न करने के लिए
Scrambled List | Moves to sort
[4,0,2,1,3,5] | [0, , , , , ] #4 stay in place
[4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left
[0,4,2,1,3,5] | [0,1,1, , , ] #2 is moved 1 slot
[0,2,4,1,3,5] | [0,1,1,2, , ] #1 is moved 2 slot
[0,1,2,4,3,5] | [0,1,1,2,1, ] #3 is moved 1 slot
[0,1,2,3,4,5] | [0,1,1,2,1,0] #5 is in the right place already
[0,1,2,3,4,5]
इसलिए, इनपुट के लिए [0,1,1,2,1,0]
आपके प्रोग्राम को आउटपुट की आवश्यकता है [4,0,2,1,3,5]
।
ध्यान रखें कि हलकों की स्थिति अंतिम सूची में क्रमबद्ध नहीं है, लेकिन क्रमबद्ध खंड में (बोल्ड खंड)
परीक्षण के मामलों
[0,0,0] -> [0,1,2]
[0,1,0,1] -> [1,0,3,2]
[0,0,0,0,0,5] -> [1,2,3,4,5,0]
[0,1,2,3] -> [3,2,1,0]
[0,1,1,1] -> [3,0,1,2]
[0,1,1,2,1,0] -> [4,0,2,1,3,5]
जीतना
यह कोड-गोल्फ है , इसलिए सबसे छोटा उत्तर जीतता है।