Minmod समारोह परिचित का एक संस्करण है मिनट है, जो आंशिक अंतर समीकरणों के लिए ढाल सीमित उच्च संकल्प योजनाओं में प्रकट होता है। कई ढलानों को देखते हुए, यह समतल ढलान को बाहर निकालता है, जबकि ढलानों के बीच सापेक्ष संकेतों का ध्यान रखता है।
फ़ंक्शन मापदंडों की एक मनमानी संख्या लेता है। फिर माइनमॉड (x 1 , x 2 , ..., x n ) को इस प्रकार परिभाषित किया गया है:
- न्यूनतम (x 1 , x 2 , ..., x n ) , यदि सभी x i कड़ाई से सकारात्मक हैं
- अधिकतम (x 1 , x 2 , ..., x n ) , यदि सभी x i कड़ाई से नकारात्मक हैं
- ० , अन्यथा।
हम केवल पूर्णांक इनपुट पर विचार करेंगे, क्योंकि यह वास्तव में कार्यान्वयन को प्रभावित नहीं करता है और कुछ (गूढ़) भाषाओं के लिए अधिक समावेशी होना चाहिए।
एक प्रोग्राम या फ़ंक्शन लिखें, जो STDIN, ARGV या फ़ंक्शन तर्क के माध्यम से n हस्ताक्षरित पूर्णांक ( n> 0 के लिए ) लेता है (यदि आप एक सरणी का उपयोग कर सकते हैं यदि यह एक वैरेडिक फ़ंक्शन से अधिक सुविधाजनक है), और रिटर्न या प्रिंट (STDOUT के लिए) परिणाम की मिनमोड (ए, बी) ।
आपको बिल्ट-इन मिन या अधिकतम फ़ंक्शंस का उपयोग नहीं करना चाहिए (और जाहिर है, कोई बिल्ट-इन मिनमोड या तो, यदि आप वास्तव में पा सकते हैं)। इसके अलावा, आपको किसी भी निर्मित सॉर्टिंग फ़ंक्शन का उपयोग नहीं करना चाहिए, सिवाय आइटम की एक निश्चित छोटी संख्या (5 से कम) को सॉर्ट करने के लिए ।
यदि आपकी भाषा में हस्ताक्षरित प्रकार नहीं हैं, तो आप एक अहस्ताक्षरित प्रकार का उपयोग कर सकते हैं और इसे दो के पूरक के रूप में व्याख्या कर सकते हैं । उदाहरण के लिए यदि अपनी भाषा केवल अहस्ताक्षरित बाइट्स का उपयोग करता है, तो आप उपयोग कर सकते हैं 255के लिए में खड़े रहने के लिए -1और 128के लिए में खड़े रहने के लिए -128, आदि
यह कोड गोल्फ है, इसलिए सबसे छोटा उत्तर (बाइट्स में) जीतता है।
परीक्षण के मामलों
Input Output
2 2
-3 -3
0 0
3 -5 0
2 4 1 1
0 1 2 0
-1 1 2 0
-4 -2 -3 -2 -2
-5 0 -1 0
1 0 -1 0
लीडरबोर्ड
निम्नलिखित स्टैक स्निपेट एक नियमित लीडरबोर्ड और भाषा द्वारा विजेताओं का अवलोकन दोनों उत्पन्न करता है। यहां तक कि अगर आपकी पसंद की भाषा आपको पूरी चुनौती जीतने नहीं देती है, तो दूसरी सूची पर स्पॉट छीनने की कोशिश क्यों न करें?
यह सुनिश्चित करने के लिए कि आपका उत्तर दिख रहा है, कृपया अपना उत्तर शीर्षक मार्कडाउन टेम्पलेट का उपयोग करके शीर्षक के साथ शुरू करें:
# Language Name, N bytes
Nआपके प्रस्तुत करने का आकार कहां है। यदि आप अपने स्कोर में सुधार करते हैं, तो आप पुराने अंकों को हेडलाइन में रख सकते हैं , उनके माध्यम से स्ट्राइक करके। उदाहरण के लिए:
# Ruby, <s>104</s> <s>101</s> 96 bytes
function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function getAnswers(){$.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(e){answers.push.apply(answers,e.items);if(e.has_more)getAnswers();else process()}})}function shouldHaveHeading(e){var t=false;var n=e.body_markdown.split("\n");try{t|=/^#/.test(e.body_markdown);t|=["-","="].indexOf(n[1][0])>-1;t&=LANGUAGE_REG.test(e.body_markdown)}catch(r){}return t}function shouldHaveScore(e){var t=false;try{t|=SIZE_REG.test(e.body_markdown.split("\n")[0])}catch(n){}return t}function getAuthorName(e){return e.owner.display_name}function process(){answers=answers.filter(shouldHaveScore).filter(shouldHaveHeading);answers.sort(function(e,t){var n=+(e.body_markdown.split("\n")[0].match(SIZE_REG)||[Infinity])[0],r=+(t.body_markdown.split("\n")[0].match(SIZE_REG)||[Infinity])[0];return n-r});var e={};var t=1;answers.forEach(function(n){var r=n.body_markdown.split("\n")[0];var i=$("#answer-template").html();var s=r.match(NUMBER_REG)[0];var o=(r.match(SIZE_REG)||[0])[0];var u=r.match(LANGUAGE_REG)[1];var a=getAuthorName(n);i=i.replace("{{PLACE}}",t++ +".").replace("{{NAME}}",a).replace("{{LANGUAGE}}",u).replace("{{SIZE}}",o).replace("{{LINK}}",n.share_link);i=$(i);$("#answers").append(i);e[u]=e[u]||{lang:u,user:a,size:o,link:n.share_link}});var n=[];for(var r in e)if(e.hasOwnProperty(r))n.push(e[r]);n.sort(function(e,t){if(e.lang>t.lang)return 1;if(e.lang<t.lang)return-1;return 0});for(var i=0;i<n.length;++i){var s=$("#language-template").html();var r=n[i];s=s.replace("{{LANGUAGE}}",r.lang).replace("{{NAME}}",r.user).replace("{{SIZE}}",r.size).replace("{{LINK}}",r.link);s=$(s);$("#languages").append(s)}}var QUESTION_ID=42079;var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";var answers=[],page=1;getAnswers();var SIZE_REG=/\d+(?=[^\d&]*(?:<(?:s>[^&]*<\/s>|[^&]+>)[^\d&]*)*$)/;var NUMBER_REG=/\d+/;var LANGUAGE_REG=/^#*\s*([^,]+)/
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src=https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js></script><link rel=stylesheet type=text/css href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"><div id=answer-list><h2>Leaderboard</h2><table class=answer-list><thead><tr><td></td><td>Author<td>Language<td>Size<tbody id=answers></table></div><div id=language-list><h2>Winners by Language</h2><table class=language-list><thead><tr><td>Language<td>User<td>Score<tbody id=languages></table></div><table style=display:none><tbody id=answer-template><tr><td>{{PLACE}}</td><td>{{NAME}}<td>{{LANGUAGE}}<td>{{SIZE}}<td><a href={{LINK}}>Link</a></table><table style=display:none><tbody id=language-template><tr><td>{{LANGUAGE}}<td>{{NAME}}<td>{{SIZE}}<td><a href={{LINK}}>Link</a></table>