MATL , 20 बाइट्स
TiodgvYsG8XQ!"@gto?P
इनपुट एक स्तंभ सरणी है, ;जिसे विभाजक के रूप में उपयोग किया जाता है।
इसे ऑनलाइन आज़माएं!
व्याख्या
एक उदाहरण के रूप में इनपुट सरणी पर विचार करें [1;2;3;5;7;4;6;7;9]। कोड का पहला भाग Tiodgv, इस सरणी को धर्मान्तरित करता है [1;1;1;0;0;1;0;1;0], जहाँ समानता का परिवर्तन1 दर्शाता है । (विशेष रूप से, कोड इनपुट सरणी के प्रत्येक प्रविष्टि की समता प्राप्त करता है, लगातार अंतर की गणना करता है, नॉनजरो मानों को धर्मान्तरित करता है , और एक प्रीपेन्ड करता है11 ।)
फिर Ysगणना करता है संचयी योग , दे रही है [1;2;3;3;3;4;4;5;5]। इनमें से प्रत्येक नंबर को एक लेबल के रूप में उपयोग किया जाएगा , जिसके आधार पर इनपुट के तत्वों को समूहीकृत किया जाएगा । यह द्वारा किया जाता है G8XQ!, जो इनपुट सरणी को एक सेल सरणी में विभाजित करता है जिसमें समूह होते हैं। इस मामले में यह देता है {[1] [2] [3;5;7] [4;6] [7;9]}।
शेष कोड सेल सरणी पर पुनरावृत्त करता है ( ")। प्रत्येक घटक संख्यात्मक सरणी के साथ धकेल दिया जाता है @g। toएक प्रति बनाता है और उसकी समता की गणना करता है । यदि ( ?) परिणाम सत्य है, अर्थात सरणी सामग्री विषम हैं, तो सरणी फ़्लिप की गई है (P ) है।
स्टैक को अंत में प्रदर्शित किया जाता है। प्रत्येक न्यूमेरिकल वर्टिकल ऐरे को प्रदर्शित किया जाता है, जो न्यूलाइन्स द्वारा अलग किए गए नंबरों की एक सूची प्रदान करता है।