मान लीजिए कि हमारे पास दो स्ट्रिंग्स s और t हैं जिनमें केवल लोअरकेस अक्षर हैं। अब, स्ट्रिंग t यादृच्छिक फेरबदल स्ट्रिंग s द्वारा उत्पन्न होता है और फिर यादृच्छिक अनुक्रमणिका में एक और अक्षर जोड़ें। हमें उस अक्षर को खोजना है जो t में जोड़ा गया था।
इसलिए, यदि इनपुट "mnopq", "pqmnot" जैसा है, तो आउटपुट "t" होगा, यह अतिरिक्त अक्षर है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
एससम:=0, टीएसयूएम:=0
-
प्रारंभ करने के लिए मैं:=0, जब मैं <कॉल की लंबाई () s, अद्यतन (i से 1 बढ़ाएँ), करते हैं -
-
sSum:=sSum + s[i]
-
-
इनिशियलाइज़ j :=0 के लिए, जब j
-
tSum :=tSum + t[j]
-
-
वापसी (tSum - sSum) चरित्र के रूप में
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
char findTheDifference(string s, string t) {
int sSum = 0;
int tSum = 0;
for (int i = 0; i < s.length(); i++) {
sSum += s[i];
}
for (int j = 0; j < t.length(); j++) {
tSum += t[j];
}
return char(tSum - sSum);
}
};
main(){
Solution ob;
cout << (ob.findTheDifference("mnopq","pqmnot"));
} इनपुट
"mnopq","pqmnot"
आउटपुट
t