मान लीजिए कि हमारे पास एक स्ट्रिंग s है। हमें एक स्ट्रिंग में सेगमेंट की संख्या गिननी होती है, जहां एक सेगमेंट को वर्णों के एक सन्निहित अनुक्रम के रूप में परिभाषित किया जाता है (कोई खाली जगह नहीं)।
इसलिए, यदि इनपुट "हैलो, आई लव प्रोग्रामिंग" जैसा है, तो आउटपुट 4 होगा, क्योंकि इसमें 4 सेगमेंट हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
n :=0
-
इनिशियलाइज़ i:=0 के लिए, जब i <साइज़ ऑफ़ s, अपडेट (i से 1 तक बढ़ाएँ), करें -
-
यदि s[i] सफेद स्थान के बराबर नहीं है, तो -
-
(1 से n बढ़ाएँ)
-
-
जबकि (i <आकार का s और s[i] सफेद स्थान के बराबर नहीं है), करते हैं -
-
(i 1 से बढ़ाएँ)
-
-
-
वापसी n
उदाहरण
आइए एक बेहतर समझ प्राप्त करने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h> using namespace std; class Solution { public: int countSegments(string s) { int n = 0; for(int i = 0; i < s.size(); i++){ if(s[i] != ' ') n++; while( i < s.size() && s[i] != ' ') i++; } return n; } }; main(){ Solution ob; cout << (ob.countSegments("Hello, I love programming")); }
इनपुट
"Hello, I love programming"
आउटपुट
4