सप्ताह शुरू करने के लिए एक साधारण गोल्फ! आपको तीन ऐरे दिए गए हैं: बेस ऐरेB , वैल्यू ऐरे V और इंडेक्स ऐरे I । आपको एक और सरणी का उत्पादन करना चाहिए जहां से निर्दिष्ट सूचकांक Vमें मूल्यों को डाला जाता Bहै I। यहाँ एक उदाहरण है:
Base: [5, 1, 4, 1, 3]
Values: [0, 0, 7]
Indices: [5, 0, 3]
आधार सरणी में निम्नलिखित पदों पर सूचकांक इंगित करता है:
[ 5, 1, 4, 1, 3 ]
^ ^ ^
0 3 5
इसलिए मान सरणी से संबंधित तत्व सम्मिलित करते हुए, परिणाम निम्न होना चाहिए:
[0, 5, 1, 4, 7, 1, 3, 0]
नियम
आप STDIN (या निकटतम विकल्प), कमांड-लाइन तर्क या फ़ंक्शन तर्क के माध्यम से एक कार्यक्रम या फ़ंक्शन लिख सकते हैं, और परिणाम को STDOUT (या निकटतम वैकल्पिक), फ़ंक्शन रिटर्न मान, या Bपैरामीटर के रूप में दिए गए सरणी को संशोधित करके परिणाम कर सकते हैं। ।
यदि आपका सबमिशन एक फ़ंक्शन है, Iऔर Vइसे किसी भी तरह से संशोधित किया जा सकता है, साथ ही Bअगर यह आउटपुट के लिए उपयोग नहीं किया जाता है।
आप इनपुट के बारे में निम्नलिखित अनुमान लगा सकते हैं:
- आधार और मान सरणी के सभी तत्व गैर-नकारात्मक पूर्णांक होंगे।
- मान सरणी में आधार सरणी की तुलना में अधिक एक तत्व होगा।
- मान सरणी और अनुक्रमणिका सरणी में समान तत्वों की संख्या होगी।
- सूचकांक सरणी में बार-बार सूचक नहीं होंगे, और सभी सूचकांक सीमा में होंगे।
- आधार और मूल्य सरणियों में बार-बार तत्व शामिल हो सकते हैं।
- कोई भी या सभी सरणियाँ खाली हो सकती हैं।
- आपको यह नहीं मानना चाहिए कि सूचकांक किसी विशेष क्रम में दिए गए हैं।
- आप इनपुट प्राप्त कर सकते हैं और किसी भी सुविधाजनक, अस्पष्ट स्ट्रिंग या सूची प्रारूप में उत्पादन कर सकते हैं। आप एक अलग क्रम में तीन सरणियों को प्राप्त करने का विकल्प भी चुन सकते हैं।
- आप 0-आधारित और 1-आधारित अनुक्रमण के बीच चयन कर सकते हैं।
यह कोड गोल्फ है, इसलिए सबसे छोटा उत्तर (बाइट्स में) जीतता है।
परीक्षण के मामलों
B V I => Result0-आधारित अनुक्रमण के लिए प्रारूप में दिया गया । यदि आप 1-आधारित अनुक्रमण का उपयोग कर रहे हैं, तो तृतीय सरणी के तत्वों को 1 से बढ़ाएँ।
[] [] [] => []
[] [1] [0] => [1]
[1,2] [] [] => [1,2]
[1,2] [3] [0] => [3,1,2]
[1,2] [3] [1] => [1,3,2]
[1,2] [3] [2] => [1,2,3]
[0,0,0] [1,1,1,1] [0,1,2,3] => [1,0,1,0,1,0,1]
[5,1,4,1,3] [0,0,7] [5,0,3] => [0,5,1,4,7,1,3,0]
[1,2,3,4] [4,3,2,1] [4,0,3,1] => [3,1,1,2,3,2,4,4]
मुझे पता है अगर आप अन्य दिलचस्प किनारे के मामलों में आते हैं, और मैं उन्हें जोड़ दूँगा।
लीडरबोर्ड
यहां एक नियमित लीडरबोर्ड और भाषा के अनुसार विजेताओं का अवलोकन करने के लिए एक स्टैक स्निपेट है।
यह सुनिश्चित करने के लिए कि आपका उत्तर दिख रहा है, कृपया अपना उत्तर शीर्षक मार्कडाउन टेम्पलेट का उपयोग करके शीर्षक के साथ शुरू करें:
# Language Name, N bytes
Nआपके प्रस्तुत करने का आकार कहां है। यदि आप अपने स्कोर में सुधार करते हैं, तो आप पुराने अंकों को हेडलाइन में रख सकते हैं , उनके माध्यम से स्ट्राइक करके। उदाहरण के लिए:
# Ruby, <s>104</s> <s>101</s> 96 bytes
var QUESTION_ID=50369;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(){jQuery.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),e.has_more?getAnswers():process()}})}function shouldHaveHeading(e){var a=!1,r=e.body_markdown.split("\n");try{a|=/^#/.test(e.body_markdown),a|=["-","="].indexOf(r[1][0])>-1,a&=LANGUAGE_REG.test(e.body_markdown)}catch(n){}return a}function shouldHaveScore(e){var a=!1;try{a|=SIZE_REG.test(e.body_markdown.split("\n")[0])}catch(r){}return a}function getAuthorName(e){return e.owner.display_name}function process(){answers=answers.filter(shouldHaveScore).filter(shouldHaveHeading),answers.sort(function(e,a){var r=+(e.body_markdown.split("\n")[0].match(SIZE_REG)||[1/0])[0],n=+(a.body_markdown.split("\n")[0].match(SIZE_REG)||[1/0])[0];return r-n});var e={},a=1,r=null,n=1;answers.forEach(function(s){var t=s.body_markdown.split("\n")[0],o=jQuery("#answer-template").html(),l=(t.match(NUMBER_REG)[0],(t.match(SIZE_REG)||[0])[0]),c=t.match(LANGUAGE_REG)[1],i=getAuthorName(s);l!=r&&(n=a),r=l,++a,o=o.replace("{{PLACE}}",n+".").replace("{{NAME}}",i).replace("{{LANGUAGE}}",c).replace("{{SIZE}}",l).replace("{{LINK}}",s.share_link),o=jQuery(o),jQuery("#answers").append(o),e[c]=e[c]||{lang:c,user:i,size:l,link:s.share_link}});var s=[];for(var t in e)e.hasOwnProperty(t)&&s.push(e[t]);s.sort(function(e,a){return e.lang>a.lang?1:e.lang<a.lang?-1:0});for(var o=0;o<s.length;++o){var l=jQuery("#language-template").html(),t=s[o];l=l.replace("{{LANGUAGE}}",t.lang).replace("{{NAME}}",t.user).replace("{{SIZE}}",t.size).replace("{{LINK}}",t.link),l=jQuery(l),jQuery("#languages").append(l)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",answers=[],page=1;getAnswers();var SIZE_REG=/\d+(?=[^\d&]*(?:<(?:s>[^&]*<\/s>|[^&]+>)[^\d&]*)*$)/,NUMBER_REG=/\d+/,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><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table></div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table></div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody></table><table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody></table>
NULLभाषाओं के लिए एक खाली सरणी के बारे में कैसा महसूस करते हैं जहां एक खाली सरणी हैNULL?