इस ट्यूटोरियल में, हम एक प्रोग्राम पर चर्चा करेंगे जो एक स्ट्रिंग में सभी स्थितियों तक सिग्नल तक पहुंचने में लगने वाले समय को खोजने के लिए है
इसके लिए हमें 'x' और 'o' वाली एक स्ट्रिंग प्रदान की जाएगी। एक संकेत 'x' से निकलता है और एक इकाई समय में एक 'o' मान बदलते हुए दोनों दिशाओं में यात्रा करता है। हमारा काम पूरे स्ट्रिंग को 'x' में बदलने के लिए पूरे समय की गणना करना है।
उदाहरण
#include <bits/stdc++.h> using namespace std; //calculating the total required time int findMaximumDuration(string s, int n) { int right = 0, left = 0; int count = 0, maximumLength = INT_MIN; s = s + '1'; for (int i = 0; i <= n; i++) { if (s[i] == 'o') count++; else { if (count > maximumLength) { right = 0; left = 0; if (s[i] == 'x') right = 1; if (((i - count) > 0) && (s[i - count - 1] == 'x')) left = 1; count = ceil((double)count / (right + left)); maximumLength = max(maximumLength, count); } count = 0; } } return maximumLength; } int main() { string str = "xooxoooxxoooxoooxooxooox"; int length = str.size(); cout << findMaximumDuration(str, length); return 0; }
आउटपुट
2