चुनौतियों पर वापस जाएँ
आसान 0 हल किए गए 0% स्वीकृति

मान्य संख्याओं का जोड़

ऐसी प्रविष्टियों को जोड़ें जो पूर्ण संख्याएँ हैं और बाकी सबको छोड़ दें, जैसे try/except खराब input को संभालता है.

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

  • गलत इनपुट पर क्रैश होने के बजाय उसे छोड़ना
  • टेक्स्ट को संख्या में बदलने से पहले स्पेस हटाना
  • वैकल्पिक चिह्न के बाद अंकों को पहचानना

समस्या

लोग जो data टाइप करते हैं वह अव्यवस्थित होता है। आपको strings की एक सूची मिलती है और उनमें से पूर्ण संख्याओं को जोड़ना है, बाकी को crash होने के बजाय ignore करना है।

कोई entry तब गिनी जाएगी जब दोनों सिरों के spaces हटाने के बाद वह एक वैकल्पिक + या - sign हो, जिसके बाद एक या अधिक digits हों। बाकी सब कुछ (खाली text, "2.5" जैसी decimals, words) छोड़ दिया जाता है।

Implement sum_valid_numbers(values).

इनपुट

values: पढ़ी जाने वाली प्रविष्टियाँ।

आउटपुट

मान्य पूर्ण संख्याओं का योग लौटाएँ (यदि कोई न हो तो 0).

सीमाएँ

0 ≤ प्रविष्टियों की संख्या ≤ 1,000

हर प्रविष्टि में अधिकतम 20 कैरेक्टर; मान्य संख्याएँ 64-बिट पूर्णांक में आती हैं

उदाहरण

उदाहरण 1
इनपुट:
values = ["10", " 5 ", "abc", "-3"]

अपेक्षित आउटपुट:
expected = 12
इनपुट:
std::vector<std::string> values = {"10", " 5 ", "abc", "-3"};

अपेक्षित आउटपुट:
long long expected = 12;
इनपुट:
string[] values = new string[] {"10", " 5 ", "abc", "-3"};

अपेक्षित आउटपुट:
long expected = 12;

व्याख्या

"10", " 5 " (spaces को trim किया जाता है) और "-3" पूर्ण संख्याएँ हैं; "abc" छोड़ दिया जाता है। 10 + 5 - 3 = 12.

उदाहरण 2
इनपुट:
values = ["2.5", "", "seven"]

अपेक्षित आउटपुट:
expected = 0
इनपुट:
std::vector<std::string> values = {"2.5", "", "seven"};

अपेक्षित आउटपुट:
long long expected = 0;
इनपुट:
string[] values = new string[] {"2.5", "", "seven"};

अपेक्षित आउटपुट:
long expected = 0;

व्याख्या

कोई भी entry पूर्ण संख्या नहीं है, इसलिए योग 0 है.

कैसे हल करें

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

संकेत 1

पहले स्पेस हटाएँ, फिर तय करें कि बचा हुआ हिस्सा सही पूर्णांक है या नहीं।

संकेत 2

try/except में बदलने से (या कैरेक्टर जाँचने से) आप बिना रुके गलत प्रविष्टियाँ छोड़ सकते हैं।

संकेत 3

अकेला चिह्न जैसे "+" संख्या नहीं है।

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

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

संदर्भ

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

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

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

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