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

एक साझा कॉन्फ़िगरेशन

एक singleton settings object का अनुकरण करें: program का हर हिस्सा उसी instance को पढ़ता और लिखता है.

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

  • पूरे प्रोग्राम में एक ही ऑब्जेक्ट साझा करना
  • पहली बार इस्तेमाल पर इंस्टेंस बनाना
  • सेटिंग्स को एक ही जगह से पढ़ना और बदलना

समस्या

singleton pattern यह सुनिश्चित करता है कि किसी class की ठीक एक ही instance हो जिसे हर कोई साझा करे, जो application settings के लिए एक आम चुनाव है.

एक साझा configuration का अनुकरण करें जो शुरुआत में खाली हो. operations को क्रम में process करें:

  • set <key> <value>: key के लिए value संग्रहीत करें (किसी भी पुरानी value को बदलते हुए).
  • get <key>: key की current value पढ़ें, या यदि वह कभी set नहीं की गई तो missing.

क्योंकि हर caller उसी instance का उपयोग करता है, एक operation द्वारा set की गई value हर बाद के get को दिखाई देती है.

Implement shared_configuration(operations).

इनपुट

operations: ऊपर बताए गए दो रूपों में strings. Keys और values में spaces नहीं होते.

आउटपुट

get operations के परिणाम क्रम में लौटाएँ.

सीमाएँ

1 ≤ ऑपरेशन की संख्या ≤ 10,000

कुंजियाँ और मान 1 से 20 कैरेक्टर के

उदाहरण

उदाहरण 1
इनपुट:
operations = ["set theme dark", "get theme", "get language"]

अपेक्षित आउटपुट:
expected = ["dark", "missing"]
इनपुट:
std::vector<std::string> operations = {"set theme dark", "get theme", "get language"};

अपेक्षित आउटपुट:
std::vector<std::string> expected = {"dark", "missing"};
इनपुट:
string[] operations = new string[] {"set theme dark", "get theme", "get language"};

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

व्याख्या

theme को dark set किया गया; language कभी set नहीं हुई, इसलिए वह missing है: ["dark", "missing"].

उदाहरण 2
इनपुट:
operations = ["set lang en", "set lang vi", "get lang"]

अपेक्षित आउटपुट:
expected = ["vi"]
इनपुट:
std::vector<std::string> operations = {"set lang en", "set lang vi", "get lang"};

अपेक्षित आउटपुट:
std::vector<std::string> expected = {"vi"};
इनपुट:
string[] operations = new string[] {"set lang en", "set lang vi", "get lang"};

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

व्याख्या

दूसरा set उसी shared instance में पहले value को बदल देता है: ["vi"].

कैसे हल करें

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

संकेत 1

हर ऑपरेशन एक ही ऑब्जेक्ट को पढ़ता और लिखता है।

संकेत 2

सेटिंग्स के लिए की से वैल्यू वाली डिक्शनरी काफ़ी है।

संकेत 3

जो की कभी सेट नहीं हुई, उसके लिए missing लौटाना है।

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

समय O(ऑपरेशन की संख्या), अतिरिक्त स्थान O(कुंजियों की संख्या)

संदर्भ

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

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

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

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