क्रमबद्ध क्रम में वर्णों की एक स्ट्रिंग को पुनर्व्यवस्थित करने के लिए एक समस्या पर चर्चा करें और स्ट्रिंग में मौजूद सभी पूर्णांकों को जोड़ें, उदाहरण के लिए
Input : str = “adv4fc3” Output : “ acdfv7” Explanation: all the letters have been sorted to “acdfv” followed by the sum of integers 4 and 3. Input: str = “ h2d7e3f ” Output: “ defh12” Explanation: all the letters have been sorted to “defh” followed by the sum of integers 2, 7, and 3.
समाधान खोजने के लिए दृष्टिकोण
इस समस्या में हमें दो कार्य करने हैं, एक स्ट्रिंग को सॉर्ट करना है, और दूसरा पूर्णांक मान जोड़ना है।
-
स्ट्रिंग में हर अक्षर की गिनती रखकर और फिर सभी अक्षरों को उनकी गिनती के अनुसार डालकर एक नई स्ट्रिंग बनाकर स्ट्रिंग को सॉर्ट किया जा सकता है।
-
हम हर बार आने पर एक चर में पूर्णांक जोड़कर पूर्णांकों का योग कर सकते हैं।
उदाहरण
उपरोक्त दृष्टिकोण के लिए C++ कोड
#include<bits/stdc++.h> using namespace std; const int MAX_CHAR = 26; int main(){ string str = "h2d7e3f"; int ch[26] = {0}; int count = 0; // traverse through all the characters of string. for (int i = 0; i < str.length(); i++){ // keeping count of occurance every character. if (str[i]>='a' && str[i] <='z') ch[str[i] - 97] = ch[str[i] - 97] + 1; // If an Integer encounters. else count = count + (str[i]-'0'); } string final = ""; // Making a sorted string with the help of ch array. for (int i = 0; i < 26; i++){ char a = (char)('a'+i); // insert the current character // to new string untill it count ends while (ch[i]-- != 0) final = final + a; } // and finally insert sum of all integers in the string. if (count>0) final = final + to_string(count); cout << "Rearranged string: " << final; return 0; }
आउटपुट
Rearranged string: defh12
उपरोक्त कोड की व्याख्या
-
ऐरे ch का आकार 26 से प्रारंभ किया गया है क्योंकि हमें 26 अक्षरों की घटना की गिनती रखने की आवश्यकता है।
-
पहले लूप में, हम स्ट्रिंग के माध्यम से जा रहे हैं। हर अक्षर के लिए हम उस अक्षर की गिनती बढ़ा रहे हैं। प्रत्येक पूर्णांक के लिए, हम इसे गणना चर में जोड़ रहे हैं।
-
दूसरे लूप में, हम उन सभी काउंट्स से एक नया सॉर्टेड स्ट्रिंग बना रहे हैं जिसमें हम कैरेक्टर को उनकी गिनती के अनुसार स्ट्रिंग में जोड़ रहे हैं।
-
और हम अंत में स्ट्रिंग को पहले लूप से गिने गए पूर्णांकों के योग के साथ जोड़ रहे हैं।
निष्कर्ष
इस ट्यूटोरियल में, हमने चर्चा की कि स्ट्रिंग को क्रमबद्ध क्रम में कैसे व्यवस्थित किया जाए और हैश टेबल दृष्टिकोण से इसके आधार पर एक समस्या को हल किया जाए। हमने इस समस्या के लिए C++ कोड पर भी चर्चा की। हम किसी भी अन्य प्रोग्रामिंग भाषा जैसे C, Java, Python, आदि में लिख सकते हैं। हमें उम्मीद है कि आपको यह ट्यूटोरियल मददगार लगेगा।