विषम: पत्र


11

उद्देश्य

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

विवरण

आपको इस तरह के यादृच्छिक आयामों के इनपुट के रूप में एक मैट्रिक्स (एक स्ट्रिंग के रूप में) पारित किया जाएगा।

bbbbbbbbbb
bbbbbdbbbb
bbbbbbbbbb
bbbbbbbbbb
bbbbbbbbbb

आपका काम उस पत्र को ढूंढना है जो बाकी से मेल नहीं खाता (इस मामले में, यह dपंक्ति 2, कॉल 6 में पाया जाता है) और उस पत्र को आउटपुट के रूप में वापस करना है। मैट्रिक्स में अक्षर A-Z, a-zन्यूलाइन्स, ( \nकेवल पंक्तियों के सिरों पर) शामिल होंगे और 5x5 से 10x10 (25-100 अक्षर) तक के आयाम होंगे।

मानक खामियां लागू होती हैं। यह एक कोड गोल्फ चुनौती है; कम से कम बाइट्स जीत के कोड के साथ प्रवेश।

इनपुट

इनपुट मानक इनपुट के माध्यम से एक स्ट्रिंग के रूप में पारित किया जाएगा यदि यह एक कार्यक्रम है या एक तर्क के रूप में यदि कोई फ़ंक्शन (या समान) है।

उत्पादन

एक एकल चरित्र है कि "अजीब" मैट्रिक्स में या None , nil, NUL, या स्ट्रिंग "None"नहीं "अजीब" चरित्र है तो।

और ज्यादा उदाहरण

AAAAAAA
AAAAAAA
AAAAAAA
AAAIAAA
AAAAAAA

उत्तर: I

vvqvvvvvvv
vvvvvvvvvv
vvvvvvvvvv
vvvvvvvvvv
vvvvvvvvvv

उत्तर: q

puuuuuuuu
uuuuuuuuu
uuuuuuuuu
uuuuuuuuu
uuuuuuuuu
uuuuuuuuu
uuuuuuuuu
uuuuuuuuu
uuuuuuuuu
uuuuuuuuu

उत्तर: p

जनक

यहां पायथन में एक यादृच्छिक मैट्रिक्स जनरेटर लिखा गया है जिसका उपयोग आप अपने कार्यक्रम का परीक्षण करने के लिए कर सकते हैं। नोट: एक मामूली मौका है कि यह एक गलती कर सकता है और एक विषम पत्र में नहीं डाला जा सकता है।


1
यहाँ जेएस में अपने पायथन कोड का शाब्दिक अनुवाद है।
अरनुलद

1
@juniorRubyist "बोनस को हटाना" "बोनस को अनिवार्य बनाने" के समान नहीं है। चुनौती की आवश्यकताओं में अब तक जो हिस्सा वैकल्पिक था, उसे आगे बढ़ाकर आपने मौजूदा उत्तरों के एक बड़े हिस्से को अमान्य कर दिया है।
मार्टिन एंडर

जवाबों:



6

जे , 12 10 7 बाइट्स

-.}./.~

इसे ऑनलाइन आज़माएं!

    /.~        Group identical items together
  }.           Remove one item from each group
-.             Remove the rest from the input

10 बाइट संस्करण

-._1 1{\:~

Hisss ...

       \:~        Sort down
  _1 1{           Take the last character (which is a newline) and the second one.
-.                Remove those from the input

2
@ FrownyFrog विषम चरित्र को खोजने का यह एक चतुर तरीका है
गैलेन इवानोव

तय नहीं कर सकता कि मुझे क्या पसंद है: यह प्यारा हुक या आपका ड्रैगन मजाक ...
जोनाह

4

ब्रेकीलॉग , 8 4 बाइट्स

oḅ∋≠

इसे ऑनलाइन आज़माएं!

व्याख्या

मैंने पहले Brachylog का उपयोग नहीं किया है, इसलिए यह इष्टतम नहीं हो सकता है।

oḅ∋≠  Input is a string.
o     Sort the input.
 ḅ    Split it into blocks of equal elements.
  ∋   There is a block
   ≠  whose elements are all different.
      That block is the output.

लंबाई 1 के परिणाम प्राप्त करने के लिए ∋≠बाद का उपयोग बहुत चालाक है। आपको निश्चित रूप से इसे Brachylog tips के प्रश्न में पोस्ट करना चाहिए ।
घातक

@ भाग्य का शुक्रिया, मैंने टिप जोड़ी।
जर्बर्ग

3

के (ओके) , 7 6 बाइट्स

समाधान

*<#:'=

इसे ऑनलाइन आज़माएं!

उदाहरण:

*<#:'="vvqvvvvvvv\nvvvvvvvvvv\nvvvvvvvvvv\nvvvvvvvvvv\nvvvvvvvvvv"
"q"

स्पष्टीकरण:

थोड़ा छोटा दृष्टिकोण मिला: मूल्यांकन दाएं-बाएं:

*<#:'= / the solution
     = / group matching items together
  #:'  / count (#:) each (')
 <     / sort ascending
*      / take the first one

टिप्पणियाँ:

जब भी मैं इस चुनौती के बोनस पहलू की उम्मीद कर रहा हूँ, तब तक यह समाधान नए वर्ण को लौटा देगा \nयदि कोई विषम चरित्र न हो:

*<#:'="vvvvvvvvvv\nvvvvvvvvvv\nvvvvvvvvvv\nvvvvvvvvvv\nvvvvvvvvvv"
"\n"

3

प्रोलॉग (एसडब्ल्यूआई) , 46 बाइट्स

p(L):-select(X,L,Y),\+member(X,Y),writef([X]).

इसे ऑनलाइन आज़माएं!

या यदि प्रोलोग प्रश्नों से मानक सही आउटपुट ठीक नहीं है:

प्रोलोग (एसडब्ल्यूआई) , 48 बाइट्स

Z*L:-select(X,L,Y),\+member(X,Y),char_code(Z,X).

इसे ऑनलाइन आज़माएं!

व्याख्या

Find the first element X in the input  
that when removed, results in output  
that does not contain X

then depending on the version above either:  
print X as a character  
or  
return X as an atom

3

C (gcc) , 93 92 90 66 62 बाइट्स

एक समारोह के रूप में बहुत कम

t;f(char*p){for(t=*p;*p;)t^*p++?putchar(*p^*--p?*p:t),*p=0:0;}

इसे ऑनलाइन आज़माएं!

परीक्षण कोड

main()
{
    char s[99];
    for(;gets(s);)f(s);
}

पुराना संस्करण एक कार्यक्रम है

सी 86 बाइट्स

char*p;s[9];main(t){for(;p=gets(s);)for(t=*p;*p;)t^*p++?putchar(*p^*--p?*p:t),*p=0:0;}

विषम चरित्र, या कुछ भी नहीं आउटपुट। इस तरह से भागो;

C:\eng\golf>python matrix_gen.py | a.exe
X
C:\eng\golf>python matrix_gen.py | a.exe
G
C:\eng\golf>python matrix_gen.py | a.exe
x
C:\eng\golf>python matrix_gen.py | a.exe

C:\eng\golf>python matrix_gen.py | a.exe
J

मुझे नहीं पता कि यह gets()टेस्ट ड्राइवर में डालना काफी उचित है क्योंकि यह आपके लिए \ n वर्ण हटाकर इनपुट को सैनिटाइज़ कर रहा है। वह कुछ काम कर रहा है ताकि आपका कार्य मूल इनपुट पर काम न कर रहा हो।
माइकल डोरगन

@MichaelDorgan यह अजगर स्क्रिप्ट से पाइप इनपुट के साथ-साथ TIO पर इनपुट के साथ काम करता है। अन्य लोगों ने केवल कठिन कोड वाले इनपुट को चुनौती की भावना के साथ नहीं देखा।
क्लेब्लांक

3

05AB1E ,  4  2 बाइट्स

अदनान के लिए धन्यवाद 2 बाइट्स बचाए

.m

इसे ऑनलाइन आज़माएं!

व्याख्या

.m   # push a list of the least frequent character(s) in input

क्या आपको नई कड़ियों को हटाने की आवश्यकता है, यह देखते हुए कि हम गारंटी देते हैं कि इनपुट कम से कम 5 लाइनों का होगा?
झबरा

@ शैगी: नहीं, मैं नहीं। वह 2x2मैट्रिस को संभालना था । मैं भाग के बारे में 5x5और याद किया । धन्यवाद!
अमीना

nilअगर यह "एक अजीब" नहीं है, तो क्या इसे वापस नहीं करना है?
मैजिक ऑक्टोपस Urn

@MagicOctopusUrn यह उत्तर पोस्ट किए जाने पर वह हिस्सा वैकल्पिक था। मुझे लगता है कि परिवर्तन अब अधिकांश उत्तरों को अमान्य कर देता है ...
मार्टिन एंडर


2

भूसी , 2 बाइट्स

◄=

इसे ऑनलाइन आज़माएं!

यह एक फ़ंक्शन है जो इनपुट के रूप में एक स्ट्रिंग लेता है और एक चरित्र लौटाता है। यह समानता के लिए वर्णों की तुलना करते समय इनपुट स्ट्रिंग को न्यूनतम लेता है (अर्थात यह उस वर्ण को लौटाता है जो अन्य वर्णों की न्यूनतम संख्या के बराबर है)।


2

सी, 94 बाइट्स

पॉइंटर से लौटें। यदि कोई नहीं, तो वापस लौटें \0

इससे मेमोरी लीक हो जाएगी। मान लें intकि 4 बाइट्स हैं।

*t;f(c,p,i)char*c,*p;{t=calloc(64,8);for(*p=-1;*c;c++)t[*c]--;for(i=0;++i<128;)!~t[i]?*p=i:0;}

इसे ऑनलाइन आज़माएं!



@ शैगी वास्तव में, मुझे नहीं पता कि मैं उस नियम की व्याख्या कैसे करूं, क्योंकि मैं कुछ (अन्य) उपयोगकर्ताओं को स्पष्ट रूप से उस नियम के बारे में जानता हूं लेकिन फिर भी इस तरह के उत्तर पोस्ट करता हूं।
user202729

2
@ user202729, सिर्फ इसलिए कि दूसरों को इसका मतलब यह नहीं है कि यह सही है;) यदि आप इस तरह के समाधान हाजिर करते हैं, तो उनके लिए इसे इंगित करना सबसे अच्छा है।
झबरा

@ शैगी खैर, मैंने स्पष्ट रूप से नियम बताया लेकिन उस उपयोगकर्ता ने कहा "नियम स्पष्ट रूप से कहता है कि यह मान्य है"। मैं नहीं जानता कि मैं क्या कहूं। | इस मामले में tहर बार पहली बार कॉल करने से पहले फ़ंक्शन को शून्य करने की आवश्यकता होती है ।
user202729

@ शगुन थैंक्स, फिक्स्ड।
कोलेरा सु


2

बैश , 15 20 बाइट्स

fold -1|sort|uniq -u

इसे ऑनलाइन आज़माएं!

स्पष्टीकरण: प्रति पंक्ति वर्ण के foldलिए इनपुट 1, sortयह मेल खाने वाले अक्षरों के समूहों में है, फिर केवल उन पंक्तियों को प्रिंट करता है जो unique हैं।

इस दृष्टिकोण के साथ समस्या को पकड़ने और मदद करने के लिए @Nahuel Fouilleul को धन्यवाद ।


काम नहीं करता है अगर विषम चरित्र दूसरा या अशुभ है
नहुएल फौइलुल

@NahuelFouilleul अच्छा पकड़ ... मैं अनिश्चित हूँ कि इस समय उसको कैसे ठीक करूँ, लेकिन मैं बाद में ठीक करूँगा या हटाऊँगा, जब तक कि आपके पास कोई सुझाव ठीक नहीं होता।
जस्टिन मैरिनर

यह बस के साथ ठीक किया जा सकता है, |sort|लेकिन एक बेहतर समाधान हो सकता है
नहुएल फौइउल

grep के साथ एक समाधान भी मिला, लेकिन यह लंबा हैgrep -oP '^(.)((?=(?!\1).){2}|.*\K(?!\1).)'
Nahuel Fouilleul

@NahuelFouilleul मैं sortफिक्स के साथ जा रहा हूं , धन्यवाद। आप हमेशा उस grep उत्तर को अपने अनुसार पोस्ट कर सकते हैं यदि आप चाहें, तो।
जस्टिन मेरिनर



1

मतलाब, 25 बाइट्स

a=input('');a(a~=mode(a))

इनपुट "a" जहाँ "a" "a" का मोड नहीं है। कोई ऑडबॉल के लिए खाली सरणी आउटपुट।


1

हास्केल, 33 * 0.75 = 24.75 बाइट्स

f s=[c|[c]<-(`filter`s).(==)<$>s]

यदि कोई विषम चरित्र नहीं है, तो एक खाली सूची देता है।

इसे ऑनलाइन आज़माएं!

cमैट्रिक्स में प्रत्येक चार के लिए (एक स्ट्रिंग के रूप में दिया गया है s) सभी वर्णों की एक स्ट्रिंग बनाते sहैं cजो लंबाई के बराबर होते हैं और 1 की लंबाई रखते हैं।


1

जावास्क्रिप्ट (ईएस 6), 37 बाइट्स

nullयदि कोई विषम पत्र नहीं है, तो लौटाता है।

s=>s.match(`[^
${s.match(/(.)\1/)}]`)

परीक्षण के मामलों


1

जाप , 6 बाइट्स

मल्टी-लाइन स्ट्रिंग के रूप में इनपुट लेता है और यदि कोई समाधान नहीं है, तो एकल वर्ण स्ट्रिंग या एक रिक्त स्ट्रिंग आउटपुट करता है।

k@èX É

कोशिश करो


व्याख्या

उन kफ़ंक्शन को हटा दें जो एक फ़ंक्शन ( @) के माध्यम से पारित होने पर सच्चाई ( ) को हटाते हैं जो इनपुट में èवर्तमान तत्व ( X) की गणना ( ) की गणना करता है और 1 ( É) घटाता है ।



1

जेली , 4 बाइट्स

ċ@ÐṂ

इसे ऑनलाइन आज़माएं!

\nयदि कोई विषम चरित्र नहीं है, तो रिटर्न (एक नई पंक्ति)। स्पष्ट रूप \nसे एक मुद्रण योग्य चरित्र नहीं है।

संयोगवश यह बिल्कुल वैसा ही एल्गोरिथ्म है जैसा कि मिस्टरकोडर पायथन का जवाब है। (मैं इसके साथ स्वतंत्र रूप से आया था)

स्पष्टीकरण:

  ÐṂ    Ṃinimum value by...
ċ@      ċount. (the `@` switch the left and right arguments of `ċ`)

क्योंकि m×nमैट्रिक्स में यह काम करता है :

  • यदि विषम चरित्र मौजूद है: m-1नई भूमिकाएं, 1 विषम वर्ण और m×n-1सामान्य चरित्र हैं, और 1 < m-1 < m×n-1क्योंकि 5 ≤ m, n ≤ 10
  • यदि कोई विषम वर्ण मौजूद नहीं है: m-1नई वर्णमाला और m×nसामान्य वर्ण हैं, और m-1 < m×n

1

सी # (.NET कोर) , 54 बाइट्स

i=>i.GroupBy(x=>x).FirstOrDefault(g=>g.Count()<2)?.Key

इसे ऑनलाइन आज़माएं!


आप सही हैं, मेरा जवाब गलत था। मैंने इसे डिलीट कर दिया है। लेकिन आप usingबाइट काउंट में स्टेटमेंट से 18 बाइट्स मिस कर रहे हैं ।
रज़नागुल

1

C (gcc) , 91 86 82 79 71 बाइट्स

f(char*s){for(;*++s==10?s+=2:0,*s;)if(*s^s[-1])return*s^s[1]?*s:s[-1];}

इसे ऑनलाइन आज़माएं!

  • एक्सोर और के लिए गैस्ट्रोपनर के लिए धन्यवाद ? ट्रिक्स (-3 बाइट्स)
  • बग्स को ठीक करने के लिए तुलना संस्करण का मूल्यांकन किया और टिप्पणियों से गैस्ट्रोपनर जादू का उपयोग किया ।

स्पष्टीकरण:

नई लाइनों को छोड़ते समय वर्तमान और पिछले चार की तुलना करें। यदि अलग है, तो अगले चार की तुलना करें। यह हमें बताता है कि क्या हम वर्तमान या पिछले चार को वापस करते हैं। फ़ंक्शन "अजीब" वर्ण मान लौटाता है यदि यह मौजूद है या 0 यदि सरणी विषम नहीं है। हम "अगले" चार चेक के साथ भाग जाते हैं क्योंकि चार से पहले हमेशा एक नई रेखा होती है \0। यदि कोई विषम चर नहीं है, तो हम आंतरिक रूप से लूप के लिए \ 0 लौटाते हैं।


पुराना, कामुक xor कोड स्पष्टीकरण:

अगले 3 स्ट्रिंग मानों का रनिंग xor मास्क बनाएं। यदि वे सभी समान हैं, तो मूल्य तीनों में से किसी के बराबर होगा। यदि वे अलग हैं, तो 2 समान अद्वितीय को छोड़कर एक-दूसरे को रद्द कर देंगे।

एक्सोर से पहले फैक्टर / एन होना चाहिए या यह गड़बड़ हो जाता है। मामले में असमानता के लिए 2 वर्णों की जाँच करनी है [0] विषम मान है। इससे अतिरिक्त खर्च होता है || चेक।

v;f(char*s){while(s[3]){s[2]==10?s+=3:0;v=*s^s[1]^s[2];if(v^‌​*s++||v^*s)break;}}

79 कुछ tweaks के साथ। गिरावट के माध्यम से वापसी मेरे संकलक से सहमत नहीं है, इसलिए केवल v;f(char*s){while(s[3]){s[2]==10?s+=3:0;v=*s^s[1]^s[2];if(v^*s++||v^*s)break;}}
टीआईओ

मैं जिस बकवास के लिए लिख रहा हूं, TIO वह है जिसके साथ मैं चिपकता हूं। धन्यवाद!
माइकल डोरगन

कुछ अभिव्यक्तियों को फिर से व्यवस्थित करना 77 के लिए एक और -2 की अनुमति देता है: v;f(char*s){while(s[2]==10?s+=3:0,v=*s^s[1]^s[2],s[3])if(v^*s++||v^*s)break;} हालाँकि आपका जीतने वाला घोड़ा दूसरा है, यदि आप इसके साथ थोड़ा सा v;f(char*s){for(v=-1;*++s==10?s+=2,v--:0,*s;v=0)if(*s^s[-1])return s[v];}
फील करते हैं

हाँ, लेकिन Xor इतना सेक्सी लगता है। :)
माइकल डोरगन

के s+=*++s-10?0:2बजाय सुझाव*++s==10?s+=2:0
छत

1

ऑक्टेव , 26 25 बाइट्स

1 बाइट @Giuseppe के लिए धन्यवाद बचा लिया

@(x)x(sum(x(:)==x(:)')<2)

अनाम फ़ंक्शन जो इनपुट के रूप में 2 डी चार सरणी लेता है, और यदि यह मौजूद नहीं है, तो विषम अक्षर या खाली स्ट्रिंग को आउटपुट करता है।

इसे ऑनलाइन आज़माएं!


0

एलिस , 16 * 75% = 12 बाइट्स

/-.nDo&
\i..*N@/

इसे ऑनलाइन आज़माएं!

Jabberwockyडुप्लीकेट कैरेक्टर न होने पर आउटपुट ।

व्याख्या

/...@
\.../

यह रैखिक कार्यक्रमों के लिए एक रूपरेखा है जो पूरी तरह से ऑर्डिनल (स्ट्रिंग प्रसंस्करण मोड) में संचालित होती है। वास्तविक कोड को एक ज़िगज़ैग तरीके से निष्पादित किया जाता है और इसके सामने आता है:

i..DN&-o

i   Read all input.
..  Make two copies.
D   Deduplicate one copy, giving only the two letters and a linefeed.
N   Multiset difference. Removes one copy of each letter and one linefeed.
    Therefore it drops the unique letter.
&-  Fold substring removal over this new string. This essentially removes
    all copies of the repeated letter and all linefeeds from the input,
    leaving only the unique letter.
.   Duplicate.
n   Logical NOT. Turns empty strings into "Jabberwocky" and everything else
    into an empty string.
*   Concatenate to the previous result.
o   Print the unique letter or "Jabberwocky".

इसके बजाय &-, हम भी उपयोग कर सकते हैं ey(एक खाली स्ट्रिंग के लिए लिप्यंतरण)। वैकल्पिक रूप से, स्टैक हेरफेर पर एक और चरित्र खर्च करके, हम उस इनपुट को भी काट सकते हैं जो हमें अवांछित वर्णों को हटाने देता है N, लेकिन यह अभी भी उसी बाइट की गिनती है:

i.D.QXN.n*o@

ऐलिस , 13 बाइट्स

/N.-D@
\i&.o/

इसे ऑनलाइन आज़माएं!

यह बोनस के बिना समाधान है, यह बस याद आ रही है .n*



0

एपीएल + विन, 16 बाइट्स

(1=+/a∘.=a)/a←,⎕

स्क्रीन इनपुट के लिए संकेत और या तो विषम पत्र या कुछ भी नहीं है अगर कोई विषम पत्र नहीं है


a/⍨1=+/a∘.=a←,⎕एक बाइट के लिए
उरियेल

@ एरियल धन्यवाद, लेकिन मुझे डर है कि ऑपरेटर not मेरे पुराने एपीएल + विन संस्करण 5 :(
ग्राहम

0

पॉवरशेल , 39 बाइट्स

([char[]]"$args"|group|sort c*)[0].Name

इसे ऑनलाइन आज़माएं!

इनपुट को charनए सिरे के साथ एक स्ट्रिंग के रूप में लेता है (जैसा कि चुनौती में निर्दिष्ट है), इसे एक -रे में परिवर्तित करता है । हम तब Group-Objectवर्ण, ताकि पात्रों को उनके नाम से एक साथ समूहीकृत किया जाता है, फिर ount sortपर आधारित होता है c। यह सुनिश्चित करता है कि अकेला चरित्र पहले है, इसलिए हम [0]सूचकांक लेते हैं और इसका उत्पादन करते हैं .Name

यदि न्यूलाइन "कुछ भी नहीं" के लिए स्वीकार्य है तो यह बोनस के लिए योग्य है।


मैं उम्मीद sort c*)[0]कर रहा था कि मुझे छोटा किया जा सकता है, लेकिन मैं जो आया था, वही बाइट्स की संख्या थी ? c* -eq 1)
रूट

आसपास के दोहरे उद्धरणों को हटाकर छोटा किया जा सकता है $args। इसके अलावा यह करना अधिक सटीक है ([char[]]$args|group|? c* -eq 1).Nameक्योंकि यह nullअजीब तरह से वापस आ जाएगा जब कोई विषम चरित्र नहीं होता है (नई पंक्ति के बजाय)। हालाँकि बाइट के संदर्भ में यह अभी भी आपको 37 से नीचे नहीं लाएगा।
cogumel0

@ cogumel0 दोहरे उद्धरण चिह्नों के बिना नहीं चलता है।
रूट

@ आप सही हैं। हालांकि आवश्यकताओं में से एक (एक एकल चरित्र है कि "अजीब" मैट्रिक्स में या पारित करने के लिए None, nil, NUL, या स्ट्रिंग "None"नहीं "अजीब" चरित्र है तो।) यह अभी भी बदला जाना चाहिए। न्यूलाइन स्वीकार्य उत्तरों का हिस्सा नहीं है।
cogumel0

@ cogumel0 आह, मेरे जवाब पोस्ट करने के बाद से चुनौती बदल दी गई। "कोई नहीं / शून्य / जो कुछ भी" अनिवार्य होने के बजाय सिर्फ एक बोनस हुआ करता था। मैं अपना जवाब रखने जा रहा हूं।
AdmBorkBork

0

पर्ल 6 ,  27  24 -25% = 18 बाइट्स

*.comb.Bag.min(*.value).key

झसे आज़माओ

{%(.comb.Bag.invert){1}}

झसे आज़माओ

यह एक अपरिभाषित मान लौटाएगा जब एक इनपुट दिया जाता है जिसमें एक विषम चरित्र नहीं होता है।

विस्तारित:

{  # bare block lambda with implicit parameter 「$_」

  %(        # coerce into a Hash

    .comb   # split the input into graphemes (implicit method call on 「$_」)
    .Bag    # turn into a weighted Set
    .invert # invert that (swap keys for values) returns a sequence

  ){ 1 }    # get the character that only occurs once
}


0

जावा 8, 85 बाइट्स

इस से एक लैम्ब्डा है Stringकरने के लिए String(उदाहरण के लिए Function<String, String>)। यह अनिवार्य रूप से लुका के समाधान की एक प्रति है , लेकिन मैंने स्ट्रिंग को थोड़ा छांट दिया है।

s->new String(s.chars().sorted().toArray(),0,s.length()).replaceAll("(.)\\1+|\\n","")

यह ऑनलाइन की कोशिश करो

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.