सबसे लगातार शब्द क्या है?
एक वाक्य को देखते हुए, आपके कार्यक्रम को इसके माध्यम से अपना रास्ता बनाना चाहिए, प्रत्येक शब्द की आवृत्तियों की गणना करना, फिर सबसे अधिक उपयोग किए जाने वाले शब्द का उत्पादन करना। क्योंकि एक वाक्य की कोई निश्चित लंबाई नहीं है, और इसलिए बहुत लंबा हो सकता है, आपका कोड यथासंभव छोटा होना चाहिए।
नियमों / आवश्यकताओं
- प्रत्येक सबमिशन या तो एक पूर्ण कार्यक्रम या फ़ंक्शन होना चाहिए। यदि यह एक फ़ंक्शन है, तो प्रोग्राम के निचले भाग में फ़ंक्शन कॉल को जोड़ने की आवश्यकता के द्वारा इसे चलाने योग्य होना चाहिए। कुछ भी (जैसे सी में हेडर) शामिल किया जाना चाहिए।
- आपकी भाषा के लिए एक नि: शुल्क दुभाषिया / संकलक उपलब्ध होना चाहिए।
- यदि यह संभव है, तो उस साइट का लिंक प्रदान करें जहां आपके कार्यक्रम का परीक्षण किया जा सकता है।
- आपके प्रोग्राम को कुछ भी नहीं लिखना चाहिए
STDERR
।
- आपके कार्यक्रम को
STDIN
(या आपकी भाषा में निकटतम विकल्प) से इनपुट लेना चाहिए ।
- मानक खामियों को मना किया जाता है।
- आपका कार्यक्रम केस-संवेदी होना चाहिए (
tHe
, The
और the
सभी की गिनती करने के लिए योगदान the
)।
- यदि कोई सबसे लगातार शब्द नहीं है (परीक्षण केस # 3 देखें), तो आपके प्रोग्राम को कुछ भी आउटपुट नहीं करना चाहिए।
'शब्द' की परिभाषा:
आप रिक्त स्थान पर इनपुट पाठ को विभाजित करके शब्दों की सूची प्राप्त करते हैं। इनपुट में प्लेन स्पेस की तुलना में किसी भी अन्य प्रकार का व्हाट्सएप कभी भी नहीं होगा (विशेष रूप से कोई न्यूलाइन्स नहीं)। हालाँकि, अंतिम शब्दों में केवल अल्फ़ान्यूमेरिक्स (az, AZ, 0-9), हाइफ़न (-) और apostrophes (') शामिल होना चाहिए। आप अन्य सभी वर्णों को हटाकर या शब्द विभाजन करने से पहले उन्हें अंतरिक्ष द्वारा प्रतिस्थापित करके ऐसा कर सकते हैं। नियमों के पिछले संस्करणों के साथ संगत रहने के लिए, एपोस्ट्रोफ को शामिल करने की आवश्यकता नहीं है।
परीक्षण के मामलों
The man walked down the road.
==> the
-----
Slowly, he ate the pie, savoring each delicious bite. He felt like he was truly happy.
==> he
-----
This sentence has no most frequent word.
==>
-----
"That's... that's... that is just terrible!" he said.
==> that's / thats
-----
The old-fashioned man ate an old-fashioned cake.
==> old-fashioned
-----
IPv6 looks great, much better than IPv4, except for the fact that IPv6 has longer addresses.
==> IPv6
-----
This sentence with words has at most two equal most frequent words.
==>
नोट: तीसरे और सातवें परीक्षण के मामलों में कोई आउटपुट नहीं है, आप चौथे पर भी चुन सकते हैं।
स्कोरिंग
कार्यक्रम बाइट्स के अनुसार बनाए जाते हैं। सामान्य वर्ण सेट UTF-8 है, यदि आप एक और कृपया निर्दिष्ट का उपयोग कर रहे हैं।
जब चुनौती पूरी हो जाती है, तो कम से कम बाइट्स (इसे कोड-गोल्फ कहा जाता है ) वाला कार्यक्रम जीत जाएगा।
प्रस्तुतियाँ
यह सुनिश्चित करने के लिए कि आपका उत्तर दिखाई देता है, कृपया अपना उत्तर शीर्षक मार्कडाउन टेम्पलेट का उपयोग करके शीर्षक के साथ शुरू करें:
# Language Name, N bytes
N
आपके प्रस्तुत करने का आकार कहां है। यदि आप अपने स्कोर में सुधार करते हैं, तो आप पुराने अंकों को हेडलाइन में रख सकते हैं , उनके माध्यम से स्ट्राइक करके। उदाहरण के लिए:
# Ruby, <s>104</s> <s>101</s> 96 bytes
यदि आप अपने हेडर में कई संख्याओं को शामिल करना चाहते हैं (जैसे कि आपका स्कोर दो फ़ाइलों का योग है या आप दुभाषिया ध्वज दंड को अलग से सूचीबद्ध करना चाहते हैं), तो सुनिश्चित करें कि हेडर में वास्तविक अंक अंतिम संख्या है:
# Perl, 43 + 2 (-p flag) = 45 bytes
आप भाषा के नाम को एक लिंक भी बना सकते हैं जो लीडरबोर्ड स्निपेट में दिखाई देगा:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes
लीडरबोर्ड
यहां एक नियमित लीडरबोर्ड और भाषा के अनुसार विजेताओं का अवलोकन करने के लिए एक स्टैक स्निपेट है।
/* Configuration */
var QUESTION_ID = 79576; // Obtain this from the url
// It will be like https://XYZ.stackexchange.com/questions/QUESTION_ID/... on any question page
var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";
var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk";
var OVERRIDE_USER = 53406; // This should be the user ID of the challenge author.
/* App */
var answers = [], answers_hash, answer_ids, answer_page = 1, more_answers = true, comment_page;
function answersUrl(index) {
return "https://api.stackexchange.com/2.2/questions/" + QUESTION_ID + "/answers?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + ANSWER_FILTER;
}
function commentUrl(index, answers) {
return "https://api.stackexchange.com/2.2/answers/" + answers.join(';') + "/comments?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + COMMENT_FILTER;
}
function getAnswers() {
jQuery.ajax({
url: answersUrl(answer_page++),
method: "get",
dataType: "jsonp",
crossDomain: true,
success: function (data) {
answers.push.apply(answers, data.items);
answers_hash = [];
answer_ids = [];
data.items.forEach(function(a) {
a.comments = [];
var id = +a.share_link.match(/\d+/);
answer_ids.push(id);
answers_hash[id] = a;
});
if (!data.has_more) more_answers = false;
comment_page = 1;
getComments();
}
});
}
function getComments() {
jQuery.ajax({
url: commentUrl(comment_page++, answer_ids),
method: "get",
dataType: "jsonp",
crossDomain: true,
success: function (data) {
data.items.forEach(function(c) {
if (c.owner.user_id === OVERRIDE_USER)
answers_hash[c.post_id].comments.push(c);
});
if (data.has_more) getComments();
else if (more_answers) getAnswers();
else process();
}
});
}
getAnswers();
var SCORE_REG = /<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/;
var OVERRIDE_REG = /^Override\s*header:\s*/i;
function getAuthorName(a) {
return a.owner.display_name;
}
function process() {
var valid = [];
answers.forEach(function(a) {
var body = a.body;
a.comments.forEach(function(c) {
if(OVERRIDE_REG.test(c.body))
body = '<h1>' + c.body.replace(OVERRIDE_REG, '') + '</h1>';
});
var match = body.match(SCORE_REG);
if (match)
valid.push({
user: getAuthorName(a),
size: +match[2],
language: match[1],
link: a.share_link,
});
});
valid.sort(function (a, b) {
var aB = a.size,
bB = b.size;
return aB - bB
});
var languages = {};
var place = 1;
var lastSize = null;
var lastPlace = 1;
valid.forEach(function (a) {
if (a.size != lastSize)
lastPlace = place;
lastSize = a.size;
++place;
var answer = jQuery("#answer-template").html();
answer = answer.replace("{{PLACE}}", lastPlace + ".")
.replace("{{NAME}}", a.user)
.replace("{{LANGUAGE}}", a.language)
.replace("{{SIZE}}", a.size)
.replace("{{LINK}}", a.link);
answer = jQuery(answer);
jQuery("#answers").append(answer);
var lang = a.language;
if (/<a/.test(lang)) lang = jQuery(lang).text();
languages[lang] = languages[lang] || {lang: a.language, user: a.user, size: a.size, link: a.link};
});
var langs = [];
for (var lang in languages)
if (languages.hasOwnProperty(lang))
langs.push(languages[lang]);
langs.sort(function (a, b) {
if (a.lang > b.lang) return 1;
if (a.lang < b.lang) return -1;
return 0;
});
for (var i = 0; i < langs.length; ++i)
{
var language = jQuery("#language-template").html();
var lang = langs[i];
language = language.replace("{{LANGUAGE}}", lang.lang)
.replace("{{NAME}}", lang.user)
.replace("{{SIZE}}", lang.size)
.replace("{{LINK}}", lang.link);
language = jQuery(language);
jQuery("#languages").append(language);
}
}
body { text-align: left !important}
#answer-list {
padding: 10px;
width: 290px;
float: left;
}
#language-list {
padding: 10px;
width: 290px;
float: left;
}
table thead {
font-weight: bold;
}
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>