सबसे 'अनोखा' शब्द खोजना


12

आपको पसंद की भाषा का उपयोग करते हुए, सबसे छोटा फ़ंक्शन / स्क्रिप्ट / प्रोग्राम लिखें जो आप उस शब्द की पहचान कर सकते हैं जो एक पाठ में सबसे अधिक अद्वितीय अक्षरों के साथ है।

  • अद्वितीय अक्षरों में UTF-8 एन्कोडिंग का उपयोग करके कोई भी विशिष्ट वर्ण शामिल होना चाहिए ।
    • एक ही चरित्र के ऊपरी और निचले मामले संस्करण अलग और अलग हैं; 'a' != 'A'
  • शब्द किसी भी व्हाट्सएप चरित्र से बंधे होते हैं।
  • 'लेटर्स' कोई भी प्रतीक होता है जिसे एकल यूनिकोड वर्ण द्वारा दर्शाया जा सकता है।
  • पाठ दस्तावेज़ को आपके कोड द्वारा पढ़ा जाना चाहिए - पाठ की कोई पूर्व लोडिंग / हार्ड-कोडिंग की अनुमति नहीं है।
  • आउटपुट शब्द होना चाहिए, उसके बाद अद्वितीय अक्षरों की गिनती।
    • llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch - 18
    • दो मूल्यों के बीच कोई भी सीमांकक / रिक्ति आपके ऊपर है, इसलिए जब तक कि उन्हें अलग करने के लिए कम से कम एक वर्ण न हो।
  • इस घटना में एक से अधिक शब्द सबसे अधिक संख्या के साथ मौजूद हैं, उस संख्या के लिए सभी शब्दों को एक नई रेखा के परिसीमन के साथ प्रिंट करें।
    सुपरकैक्जेलमेंट - १६
    स्यूडोलमैलिबेरिचिएट - 16
  • यह कोड गोल्फ है, इसलिए सबसे छोटा कोड जीतता है।

इंग्लिश पर इस जवाब ने। मुझे इस चुनौती को बनाने के लिए प्रेरित किया। उदाहरण सिर्फ एक शब्द सूची का उपयोग करता है , लेकिन किसी भी पाठ को संसाधित करने में सक्षम होना चाहिए।


1
शब्दों को कैसे अलग किया जाता है? आप कहते हैं कि अद्वितीय अक्षर कोई भी UTF-8 वर्ण हैं, लेकिन इसका अर्थ यह होगा कि पूरी फ़ाइल सिर्फ एक शब्द है।
कार्डबोर्ड_बॉक्स 14

1
आप यहाँ अक्षरों को कैसे परिभाषित कर रहे हैं? जैसा कि मैंने अभी तक अंग्रेजी में से एक पर इंगित किया है। ई उत्तर LlanfairPGएक वेल्श शब्द है और इसमें वेल्श वर्णमाला के अक्षर हैं - llऔर वेल्श भाषा में chदोनों एकल अक्षर हैं।
गारेथ

1
@ गैरेथ मैं उस भेद के बारे में नहीं जानता था, मेरी गलती। क्या उन दो 'पत्रों' के यूनिकोड निरूपण हैं? इस चुनौती के प्रयोजनों के लिए, प्रत्येक व्यक्ति यूनिकोड चरित्र एक पत्र है।
गफ्फी

1
तो abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+~`<>/\\?'";:{}[],.एक वैध "शब्द" है?
श्मिट

2
ऑफ-टॉपिक, लेकिन जाहिरा तौर पर वेल्श में LL और ll के लिए एकल पत्र हुआ करते थे। कम से कम यूनिकोड में उन लोगों के लिए U + 1EFA और U + 1EFB है; "मध्य-वेल्श" यह उन्हें कहता है। हालांकि Ll का कोई शीर्षक नहीं है।
मिस्टर लिस्टर

जवाबों:


7

एपीएल (56)

{⎕ML←3⋄⊃{⍵,⍴∪⍵}¨W[⍙]⍴⍨↑+/∆∘.=∆←∆[⍙←⍒∆←↑∘⍴∘∪¨W←⍵⊂⍨⍵≠' ']}

यह एक फ़ंक्शन है (प्रश्न कहता है कि अनुमति दी गई है) जो एक स्ट्रिंग लेता है और शब्दों का एक मैट्रिक्स और अद्वितीय लंबाई देता है।

उपयोग:

      {⎕ML←3⋄⊃{⍵,⍴∪⍵}¨W[⍙]⍴⍨↑+/∆∘.=∆←∆[⍙←⍒∆←↑∘⍴∘∪¨W←⍵⊂⍨⍵≠' ']}'The quick brown fox jumps over the lazy dog.'
quick 5
brown 5
jumps 5

स्पष्टीकरण:

  • ⎕ML←3: 3 के लिए माइग्रेशन स्तर सेट करें (ताकि एन्क्लोज़ के बजाय विभाजन हो)
  • W←⍵⊂⍨⍵≠' ': Wदिए गए स्ट्रिंग में स्टोर करें , जहां प्रत्येक विभाजन में गैर-व्हाट्सएप वर्ण होते हैं।
  • ⍙←⍒∆←↑∘⍴∘∪¨W: राशि (मिल अद्वितीय (के) (प्रत्येक भाग में) तत्वों ¨) का Wहै, और इन में स्टोर , तो सॉर्ट क्रम जब इस पर क्रमबद्ध नीचे की ओर (मिल ) और कहा कि में दुकान
  • ∆[⍙... ]: द्वारा क्रमबद्ध करें , तो अब हमारे पास क्रम में अद्वितीय लंबाई है।
  • ∆∘.=∆←∆: सॉर्ट किए गए बैक को स्टोर करें और देखें कि कौन से तत्व बराबर हैं।
  • ↑+/: पंक्तियों को लिखें (अब हम जानते हैं कि प्रत्येक तत्व के बराबर कितने तत्व हैं) और फिर पहला आइटम लेते हैं (अब हम जानते हैं कि कितने तत्व पहले तत्व के बराबर हैं, यानी पहले स्थान के लिए कितने शब्द बंधे हैं।)
  • W[⍙]⍴⍨: Wद्वारा क्रमबद्ध करें , और पहले N को लें, जहां N वह संख्या है जिसे हमने अभी गणना की है।
  • {⍵,⍴∪⍵}¨: इनमें से प्रत्येक के लिए, शब्द को स्वयं और शब्द में अद्वितीय वर्णों की मात्रा प्राप्त करें
  • : मैट्रिक्स के रूप में प्रारूपित करें

4

गणितज्ञ 96 115

संपादित करें : कोड अब अधिकतम वर्णों के सभी शब्दों को ढूँढता है। मैं अल्पविराम को शब्द वर्ण मानने से इनकार करता हूं।

f@t := With[{r = {#, Length@Union@Characters@#} & /@ 
StringSplit[t,RegularExpression@"\\W+"]},  Cases[r, {_, Max[r[[All, 2]]]}]]

उदाहरण

f@"It was the best of times,...of comparison only."

या

f@Import["t1.txt"]

{{"अविश्वसनीयता", १०}, {"अतिशयोक्ति", १०}}


f@"Lorem ipsum... vitae augue."

या

f@Import["t2.txt"]

{"वेस्टिबुलम", 9}


लंबे उदाहरण

f@Import["ShakespearesSonnets.txt"]
f@Import["OriginOfSpecies.txt"]
f@Import["DeclarationOfIndependence.txt"]
f@Import["DonQuixoteISpanish.txt"]
f@Import["AliceInWonderland.txt"]
f@Import["UNHumanRightsGerman.txt"]
f@Import["GenesisKJV.txt"]

आश्चर्य: स्वतंत्रता की घोषणा में सबसे "अनूठा" शब्द ऐलिस इन वंडरलैंड का सबसे अनूठा शब्द भी है !

{"prognosticate", 11}
{"अनदेखा", 13}
{"असुविधाजनक", 12}
{"regocijadamente", 12}
{"असुविधाजनक", 12}
{"Verpflichtung", 13/ {"buryingplace
", 12}


क्या यह केवल एक सबसे अनोखा शब्द लौटाता है? यह उन सभी को वापस करना चाहिए। उदाहरण के लिए "अतिशयोक्ति, अविश्वास, 10"
श्मिट्टी

@Shiddty मैंने आपकी आलोचना को संबोधित किया। (इसकी कीमत 19 बाइट्स है।)
डेविड एफसी 6'13

4

अजगर 2 (110 (फ़ाइल इनपुट का उपयोग करके))

import sys
f=lambda x:len(set(x))
a=sys.stdin.read().split()
c=max(map(f,a))
for i in a:
 if f(i)==c:print i,c

f=lambda x:len(set(x))
a=file('a').read().split()
c=max(map(f,a))
for i in a:
 if f(i)==c:print i,c

सुधार करने के लिए चीजें: मुद्रण (33 अक्षर)

विराम चिह्नों को अक्षर माना जाता है।


पायथन 2.7.3 NameError: global name 'r' is not defined:। आसपास एकल उद्धरण को जोड़ने के बाद r: AttributeError: 'file' object has no attribute 'split'। पायथन 3.3.0 SyntaxError: invalid syntax 'print i,c':।
प्रिमो

उफ़, मैंने इसका परीक्षण नहीं किया। यह कहने के लिए धन्यवाद, मैंने ऐसा कभी नहीं देखा होगा। पायथन 3 के लिए: काम नहीं करता है।
०२ पर beary605

4

यह मेरा पहला कोडगोल्फ है, मैं बहुत उत्साहित हूं :) इसके अलावा इसका मतलब है कि यह शायद कोई अच्छा नहीं है।

ग्रोवी 127 117 112 105

संपादित करें: चूंकि फ़ंक्शन की अनुमति दी जा रही है, इसलिए यह 105 में से एक है। मैंने पहले कॉलम को ACDC पढ़ने के लिए चर का नाम भी बदल दिया, क्योंकि यह किसी भी तरह के स्रोत कोड में महत्वपूर्ण है:

एक = {ई = {it.toSet ()। आकार ()}
सी = it.text.tokenize ()
डी = ई (C.max {ई (यह)})
C.grep {e (it) == D} .each {println "$ it $ D"}}

आप इसे इस तरह कहेंगे:

A (नई फ़ाइल ("words.txt"))

112 में मानक इनपुट का उपयोग किए बिना कार्य :

एक = {it.toSet ()। आकार ()}
ख = System.in.getText ()। tokenize ()
ग = एक (b.max {एक (यह)})
b.grep {a (यह) == c} .each {println "$ it $ c"}

एक = {it.toSet ()। आकार ()}
ख = System.in.getText ()। tokenize ()। प्रकार {-एक (यह)}
ग = एक (ख [0])
b.grep {a (यह) == c} .each {println "$ it $ c"}

एक = {it.toSet ()। आकार ()}
System.in.getText ()। Tokenize ()। Sort ({- a (it)})। GroupBy {a (it)}। Take (1) .each {k, v-> v.each {println - $ यह $ k "}}

इनपुट: प्रिमो से लोरम इप्सम टेक्स्ट

सभी स्क्रिप्ट आउटपुट:

consequat 9
ullamcorper 9
Vestibulum 9

किसी को भी इस बात का अंदाजा हो गया कि उन्हें और अधिक ग्रूवी कैसे बनाया जा सकता है?


3

पर्ल 78 बाइट्स

map{push$_[keys{map{$_,1}/./g}]||=[],$_}split for<>;print"$_ $#_
"for@{$_[-1]}

प्रतिबंध की व्याख्या करते हुए "पाठ दस्तावेज़ आपके कोड द्वारा पढ़ा जाना चाहिए" इसका मतलब है कि कमांड लाइन विकल्प जो इनपुट पढ़ते हैं और पार्स करते हैं, उन्हें अनुमति नहीं है। नीचे दिए गए PHP समाधान के साथ, केवल अक्षर 10 और 32 को शब्द सीमांकक माना जाता है। इनपुट और आउटपुट भी उसी तरीके से लिए गए हैं।


PHP 128 बाइट्स

<?foreach(split(~߃õ,fread(STDIN,1e6))as$s){$w[count(count_chars($s,1))][]=$s;}krsort($w)?><?=join($f=~ß.key($w).~õ,pos($w)),$f;

शब्द सीमांकक माने जाने वाले वर्ण केवल वर्ण 10 हैं, और वर्ण 32। शेष, दंड सहित, शब्द का हिस्सा माना जाता है।

इसमें कुछ बाइनरी वर्ण शामिल हैं, जो उद्धरण चिह्नों को बचाता है, लेकिन परिणामस्वरूप एएनएसआई एन्कोडिंग के साथ ठीक से काम करने के लिए सहेजने की आवश्यकता होती है। वैकल्पिक रूप से, इस संस्करण का उपयोग किया जा सकता है, जो 3 बाइट भारी है:

<?foreach(split(' |
',fread(STDIN,1e6))as$s){$w[count(count_chars($s,1))][]=$s;}krsort($w)?><?=join($f=' '.key($w).'
',pos($w)),$f;

नमूना I / O:

इनपुट 1:

It was the best of times, it was the worst of times, it was the age of wisdom,
it was the age of foolishness, it was the epoch of belief, it was the epoch of
incredulity, it was the season of Light, it was the season of Darkness, it was
the spring of hope, it was the winter of despair, we had everything before us,
we had nothing before us, we were all going direct to Heaven, we were all going
direct the other way - in short, the period was so far like the present period,
that some of its noisiest authorities insisted on its being received, for good
or for evil, in the superlative degree of comparison only.

आउटपुट 1:

$ php most-unique.php < input1.dat
incredulity, 11

इनपुट 2:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec mollis, nisl sit
amet consequat fringilla, justo risus iaculis justo, vel ullamcorper dui tellus
ut enim. Suspendisse lectus risus, molestie sed volutpat nec, eleifend vitae
ligula. Nulla porttitor elit vel augue pretium cursus. Donec in turpis lectus.
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia
Curae; Quisque a lorem eu turpis viverra sodales. Pellentesque justo arcu,
venenatis nec hendrerit a, molestie vitae augue.

आउटपुट 2:

$ php most-unique.php < input2.dat
consequat 9
ullamcorper 9
Vestibulum 9

incredulity10 अद्वितीय पत्र हैं, 11. नहीं
डेविड एफसी

@DavidCarraher उसका कोड अल्पविराम सहित है, जिसे सैद्धांतिक रूप से नियमों के माध्यम से अनुमति दी गई है।
श्मिट

स्पष्टीकरण बिल्कुल अविश्वसनीय है।
डेविड एफसी

2
न केवल इसे 'सैद्धांतिक रूप से अनुमति दी गई' है, बल्कि प्रश्न का शब्दांकन (विशेष रूप से अंक 2 और 3) को देखते हुए, यह एक आवश्यकता प्रतीत होती है।
प्रिमो

@DavidCarraher हाँ, विराम चिह्न वैध वर्ण हैं। व्हाट्सएप के अलावा कुछ भी मान्य है।
गफ्फी

3

GoRuby 2.0.0 - 66 वर्ण

नीचे दिए गए समाधान वास्तव में सभी मैच नहीं बल्कि एक ही मिला। यहाँ मेरा अंतिम संस्करण है:

a=$<.r.sp.m{|x|[x,x.ch.u.sz]};a.m{|x|s x*' - 'if x.l==a.m_(&:l).l}

उदाहरण:

लॉरेम इप्सम डोलर अमेट, कंसेटेटुर एडिपिसिंग एलीट। डोनेक मोलिस, निसल एमाट एसेट परिणाम फ्रिंजिला, जस्टो रिसस इयुकुलिस जस्टो, वेल उलामॉर्कर ऑक्स टेलस यूट एनिम। सस्पेंडिस लेक्सस रिसस, मोलेस्टी सेड वुल्लेपट्ट नेक, एलिफेंड विटे लिगुला। Nulla porttitor elit vel augue pretium अभिशाप। Turpis लेक्टस में Donec। वेस्टिबुलम एन्टी इप्सम प्राइमिस इन फौसीबस ओरसी लेक्टस एट अल्ट्रिसेस पॉसुअर क्यूबिला क्यूरा; Quisque a lorem eu turpis viverra sodales। पेलिएसेक जस्टो आर्कु, वेनेनैटीस एनईसी हेंड्रेरिट ए, मोलेस्टी विटे एगु।

पैदा करता है:

$ ruby golf.rb < input.txt
consequat - 9
ullamcorper - 9
Vestibulum - 9

GoRuby 2.0.0 - 29 वर्ण (सटीक आउटपुट प्रारूप नहीं)

s$<.sp.m{|x|[x.ch.u.sz,x]}.mx

स्टड से इनपुट की उम्मीद है। आउटपुट स्वरूप थोड़ा अलग है, यद्यपि। उदाहरण के लिए:

$ ruby golf.rb < british.1
14
manoeuvrability

GoRuby 2.0.0 - 42 40 वर्ण

s$<.r.sp.m{|x|[x.ch.u.sz,x]}.mx.rv*' - '

स्टड से इनपुट की उम्मीद है

रूबी 1.9.3 - 69 65 वर्ण

puts$<.read.split.map{|x|[x.chars.uniq.size,x]}.max.reverse*' - '

स्टड से इनपुट की उम्मीद है (ऊपर के रूप में, लेकिन GoRuby संक्षिप्तीकरण के बिना)


2

जावास्क्रिप्ट 163 155 152 152 बाइट्स

यह मेरे बारे में जितना हो सके उतना कम है:

prompt(x=[]).split(/\s/).forEach(function(a){b={};c=0;a.split('').forEach(function(d){b[d]?1:b[d]=++c});x[c]?x[c].push(a):x[c]=[a]});alert((l=x.length-1)+':'+x[l])
prompt(x=[]).split(/\b/).map(function(a){b={};c=0;a.split('').map(function(d){b[d]?1:b[d]=++c});x[c]?x[c].push(a):x[c]=[a]});alert((l=x.length-1)+':'+x[l])
prompt(x=[]).split(/\s/).map(function(a){b=[c=0];a.split('').map(function(d){b[d]?1:b[d]=++c});x[c]=(x[c]||[]).concat(a)});alert((l=x.length-1)+':'+x[l])

prompt(x=[]).split(/\s/).map(function(a){b=[c=0];a.split('').map(function(d){b[d]?1:b[d]=++c});x[c]=(x[c]||[]).concat(a)});alert((l=x.length-1)+':'+x[l].join('\n'))

इस संस्करण में /\s/व्हॉट्सएप पर आधारित शब्दों को अलग किया जाता है, इसलिए इसमें शब्दों के भाग के रूप में विराम चिह्न, अल्पविराम, अवधि आदि शामिल हैं। यह आसानी से /\b/उन्हें शामिल नहीं करने के लिए बदल दिया गया है।

मैं देखता हूँ कि थोड़े-थोड़े समय के लिए मैं क्या कर सकता हूँ?

मैं / हे:

यह सबसे अच्छा समय था, यह सबसे बुरा समय था, यह ज्ञान की उम्र थी, यह मूर्खता की उम्र थी, यह विश्वास का युग था, यह अविश्वसनीयता का युग था, यह लाइट का मौसम था, यह अंधेरा का मौसम था, यह आशाओं का झरना था, यह निराशा की सर्दी थी, हमारे सामने सब कुछ था, हमारे सामने कुछ भी नहीं था, हम सभी स्वर्ग में सीधे जा रहे थे, हम सभी दूसरे तरीके से सीधे जा रहे थे - में संक्षेप में, यह अवधि वर्तमान काल की तरह अब तक की थी, इसके कुछ महानुभाव अधिकारियों ने इसकी तुलना में, केवल अच्छे या बुरे के लिए, इसकी तुलना में, अतिशयोक्ति की डिग्री में प्राप्त होने पर जोर दिया।

11:incredulity,

लॉरेम इप्सम डोलर अमेट, कंसेटेटुर एडिपिसिंग एलीट। डोनेक मोलिस, निसल एमाट एसेट परिणाम फ्रिंजिला, जस्टो रिसस इयुकुलिस जस्टो, वेल उलामॉर्कर ऑक्स टेलस यूट एनिम। सस्पेंडिस लेक्सस रिसस, मोलेस्टी सेड वुल्लेपट्ट नेक, एलिफेंड विटे लिगुला। Nulla porttitor elit vel augue pretium अभिशाप। Turpis लेक्टस में Donec। वेस्टिबुलम एन्टी इप्सम प्राइमिस इन फौसीबस ओरसी लेक्टस एट अल्ट्रिसेस पॉसुअर क्यूबिला क्यूरा; Quisque a lorem eu turpis viverra sodales। पेलिएसेक जस्टो आर्कु, वेनेनैटीस एनईसी हेंड्रेरिट ए, मोलेस्टी विटे एगु।

9:consequat
ullamcorper
Vestibulum

थोड़ा थक गया, शायद। लेकिन मुझे शांति महसूस होती है। आज सुबह रिंग में आपकी सफलता, कुछ हद तक, मेरी सफलता थी। आपका भविष्य सुनिश्चित है। आप, सुरक्षित और सुरक्षित, विलबर रहेंगे। अब आपको कुछ भी नुकसान नहीं पहुंचा सकता। ये पतझड़ के दिन छोटे और ठंडे हो जाएंगे। पत्ते पेड़ों से ढीले होकर गिरेंगे। क्रिसमस आ जाएगा, और सर्दियों की आहट। आप जमे हुए दुनिया की सुंदरता का आनंद लेने के लिए जीवित रहेंगे, क्योंकि आपके लिए ज़करमैन के लिए एक महान सौदा है और वह आपको कभी भी नुकसान नहीं पहुंचाएगा। सर्दी बीत जाएगी, दिन लंबे हो जाएंगे, चरागाह तालाब में बर्फ पिघलेगी। गीत गौरैया वापस आ जाएगी और गाएगी, मेंढक जागेंगे, गर्म हवा फिर से बहेगी। इन सभी स्थलों और ध्वनियों और महक से आपका आनंद होगा, विल्बर- यह प्यारी दुनिया, ये अनमोल दिन ...

10:Wilbur—this

आजकल के लगभग सभी बच्चे भयानक थे। जो कुछ भी सबसे खराब था वह यह था कि जासूसों के रूप में इस तरह के संगठनों के माध्यम से वे व्यवस्थित रूप से छोटे-छोटे संकटों में बदल गए थे, और फिर भी इससे उनमें कोई प्रवृत्ति नहीं पैदा हुई जो पार्टी के अनुशासन के खिलाफ विद्रोह करते थे। इसके विपरीत, उन्होंने पार्टी को और उससे जुड़ी हर चीज को स्वीकार किया ... उनके सभी फेरो को बाहर की ओर, राज्य के दुश्मनों के खिलाफ, विदेशियों, गद्दारों, तोड़फोड़ करने वालों, विचार-अपराधियों के खिलाफ किया गया। तीस से अधिक उम्र के लोगों के लिए अपने बच्चों से भयभीत होना लगभग सामान्य था।

15:thought-criminals.

आउटपुट के साथ एक संभावित अजीबता है: यदि आउटपुट में कई शब्द हैं और एक शब्द कॉमा के साथ समाप्त होता है, तो यह दो कॉमा को एक पंक्ति में दिखा सकता है जो भ्रामक होगा।
श्मिट

युक्ति से,In the event more than one word exists with the highest count, print all words for that count, **with one new line delimiting**.
गफ्फी

@ गफ्फी अभी तय होनी चाहिए। 10 बाइट्स>। <
Shmiddty


2

आर - 106 अक्षर
पैरामीटर के रूप में इनपुट टेक्स्ट के साथ एक फ़ंक्शन के रूप में:

f=function(t){
s=strsplit
a=sapply
t=s(t," ")[[1]]
w=a(a(s(t,""),unique),length)
n=(w==max(w))
cbind(t[n],w[n])
}

और कुछ उदाहरण:

f("It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair, we had everything before us, we had nothing before us, we were all going direct to Heaven, we were all going direct the other way - in short, the period was so far like the present period, that some of its noisiest authorities insisted on its being received, for good or for evil, in the superlative degree of comparison only.")
     [,1]           [,2]
[1,] "incredulity," "11"

f("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec mollis, nisl sit amet consequat fringilla, justo risus iaculis justo, vel ullamcorper dui tellus ut enim. Suspendisse lectus risus, molestie sed volutpat nec, eleifend vitae ligula. Nulla porttitor elit vel augue pretium cursus. Donec in turpis lectus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Quisque a lorem eu turpis viverra sodales. Pellentesque justo arcu, venenatis nec hendrerit a, molestie vitae augue.")
     [,1]          [,2]
[1,] "consequat"   "9" 
[2,] "ullamcorper" "9" 
[3,] "Vestibulum"  "9"

या आर - 100 वर्ण
पैरामीटर के रूप में पाठ फ़ाइल के पथ के साथ एक फ़ंक्शन के रूप में:

f=function(t){
t=scan(t,"")
a=sapply
w=a(a(strsplit(t,""),unique),length)
n=(w==max(w))
cbind(t[n],w[n])
}

उपयोग:

f("t1.txt")
Read 120 items
     [,1]           [,2]
[1,] "incredulity," "11"

मुझे लगता है कि यह याद आ रही है "पाठ दस्तावेज़ आपके कोड द्वारा पढ़ा जाना चाहिए"।
स्टीवन रूंबलकी

@StevenRumbalski इसे ठीक किया गया है।
प्लेनैपस

1

पायथन 176 168

w = "".join((open('c')).readlines()).replace("\n", " ").split(" ")
l = sorted(zip([len(set(w[i])) for i in range(len(w))],w,))
print([x for x in l if l[-1][0] == x[0]])

1

पायथन 3 119

नामक फाइल से पढ़ता है a

r={w:len(set(w))for w in open("a").read().split()};print("\n".join(str((k,v))for k,v in r.items()if v==max(r.values())))

@Primo से इनपुट ग्रंथों के साथ परीक्षण किया गया:

Input 1:
    ('incredulity,', 11)

Input 2:
    ('Vestibulum', 9)
    ('consequat', 9)
    ('ullamcorper', 9)

0

VBScript - 430 / VBA - 420

VBScript:

Function r(t)
d="Scripting.Dictionary"
Set w=CreateObject(d)
c=1
Do Until c>Len(t)
p=InStr(c,t," ")
i=InStr(c,t,vbCr)
If p<i Then s=i Else s=p
If s=0 Then s=Len(t)+1
f=Mid(t,c,s-c)  
If Not w.Exists(f) Then 
Set x=CreateObject(d)
For l=1 To Len(f)
n=Mid(f,l,1)
If Not x.Exists(n) Then x.Add n,n
Next
w.Add f,f
y=x.Count
If m=y Then z=f &vbCr &z
If m<y Then m=y:z=f
End If
c=s+1
Loop
r=z &" " &m
End Function

VBA:

Function r(t)
d="Scripting.Dictionary"
Set w=CreateObject(d)
c=1
Do Until c>Len(t)
p=InStr(c,t," ")
i=InStr(c,t,vbCr)
s=IIf(p<i,i,p)
If s=0 Then s=Len(t)+1
f=Mid(t,c,s-c)  
If Not w.Exists(f) Then 
Set x=CreateObject(d)
For l=1 To Len(f)
n=Mid(f,l,1)
If Not x.Exists(n) Then x.Add n,n
Next
w.Add f,f
y=x.Count
If m=y Then z=f &vbCr &z
If m<y Then m=y:z=f
End If
c=s+1
Loop
r=z &" " &m
End Function
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.