0 और 1 की स्ट्रिंग दी गई है। आप वर्तमान वर्ण के समान वर्ण पर जंप कर सकते हैं। स्ट्रिंग के अंत तक पहुंचने के लिए आवश्यक अधिकतम जंप लंबाई खोजें।
रणनीति: अंतिम वर्ण को लक्ष्य मानें। लगातार विपरीत वर्णों की गिनती करें। अधिकतम गिनती + 1 ही उत्तर है।
उदाहरण: "1010101" → अधिकतम जंप 2।
C++ कार्यान्वयन
#include <bits/stdc++.h>
using namespace std;
int powerOfJump(string s) {
int count = 1;
int max_so_far = INT_MIN;
char ch = s[s.length() - 1];
for (int i = 0; i < s.length(); i++) {
if (s[i] == ch) {
if (count > max_so_far) max_so_far = count;
count = 1;
} else count++;
}
return max_so_far;
}
int main() {
string st = "1010101";
cout << powerOfJump(st);
return 0;
}
आउटपुट
2