इस ट्यूटोरियल में, हम स्ट्रिंग में सभी स्थितियों तक सिग्नल पहुंचने में लगे समय को खोजने के प्रोग्राम पर चर्चा करेंगे।
इसके लिए हमें 'x' और 'o' वाली एक स्ट्रिंग प्रदान की जाएगी। एक सिग्नल 'x' से उत्पन्न होता है और दोनों दिशाओं में यात्रा करता है, एक यूनिट समय में एक 'o' मान को बदलता है। हमारा कार्य पूरी स्ट्रिंग को 'x' में बदलने का कुल समय निकालना है।
उदाहरण
#include <bits/stdc++.h> using namespace std; //कुल आवश्यक समय की गणना करना 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