सभी चुनौतियाँ
आसान 0 हल किए गए 0% स्वीकृति

अद्वितीय रिकॉर्ड

मान के आधार पर समान duplicate records हटाएँ, और प्रत्येक का पहला occurrence क्रम में रखें।

आप क्या सीखेंगे

  • रिकॉर्ड की तुलना उनके मानों से करना
  • क्रम बनाए रखते हुए डुप्लिकेट हटाना
  • स्पेस हटाकर फ़ील्ड को एक जैसा करना

समस्या

C# records मान के आधार पर compare करते हैं: दो records तब equal होते हैं जब उनके सभी fields equal हों, भले ही वे अलग objects हों। इससे duplicates हटाना आसान हो जाता है.

हर record name,city के रूप में लिखा गया है. दोनों fields के आसपास के spaces trim करें; trimming के बाद, दो records तब equal होते हैं जब दोनों fields exactly match करें (case matters).

unique_records(records) implement करें.

Input

records: The records, in order.

Output

Return the distinct records in the order they first appear, written name,city with the trimmed fields.

सीमाएँ

0 ≤ रिकॉर्ड की संख्या ≤ 100,000

हर फ़ील्ड 1 से 30 कैरेक्टर का, बिना कॉमा

उदाहरण

उदाहरण 1
इनपुट:
records = ["Ada,London", "Lin, Hanoi", "Ada , London"]

अपेक्षित आउटपुट:
expected = ["Ada,London", "Lin,Hanoi"]
इनपुट:
std::vector<std::string> records = {"Ada,London", "Lin, Hanoi", "Ada , London"};

अपेक्षित आउटपुट:
std::vector<std::string> expected = {"Ada,London", "Lin,Hanoi"};
इनपुट:
string[] records = new string[] {"Ada,London", "Lin, Hanoi", "Ada , London"};

अपेक्षित आउटपुट:
string[] expected = new string[] {"Ada,London", "Lin,Hanoi"};

व्याख्या

Trimming के बाद, तीसरा record पहले वाले के बराबर है, इसलिए उसे हटा दिया जाता है: ["Ada,London", "Lin,Hanoi"].

उदाहरण 2
इनपुट:
records = ["ada,Paris", "Ada,Paris"]

अपेक्षित आउटपुट:
expected = ["ada,Paris", "Ada,Paris"]
इनपुट:
std::vector<std::string> records = {"ada,Paris", "Ada,Paris"};

अपेक्षित आउटपुट:
std::vector<std::string> expected = {"ada,Paris", "Ada,Paris"};
इनपुट:
string[] records = new string[] {"ada,Paris", "Ada,Paris"};

अपेक्षित आउटपुट:
string[] expected = new string[] {"ada,Paris", "Ada,Paris"};

व्याख्या

Case matters, इसलिए ये दो records अलग हैं: ["ada,Paris", "Ada,Paris"].

कैसे हल करें

पहले खुद कोशिश करें, फिर एक-एक करके संकेत खोलें।

संकेत 1

तुलना से पहले दोनों फ़ील्ड से स्पेस हटाएँ।

संकेत 2

(name, city) जोड़ियों का set देखे जा चुके रिकॉर्ड याद रखता है।

संकेत 3

हर नया रिकॉर्ड पहली बार दिखने पर, इनपुट के क्रम में लौटाएँ।

अपेक्षित जटिलता

समय O(कुल लंबाई), अतिरिक्त स्थान O(रिकॉर्ड की संख्या)

संदर्भ

यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।

दूसरों से सीखें

समुदाय समाधान

अभी तक कोई प्रकाशित समाधान नहीं। पहला साझा करने के लिए इस चुनौती को हल करें।