Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ प्रोग्राम: न्यूनतम मिनट गिनें जिसके बाद कोई नया नाराज छात्र नहीं होगा


मान लीजिए हमारे पास लंबाई n की एक स्ट्रिंग S है, जिसमें केवल दो प्रकार के वर्ण हैं, 'A' या 'P'। एक पंक्ति में n छात्र हैं, i-वां छात्र नाराज है यदि S[i] = 'A', यदि यह 'P' है तो यह कहता है कि S[i] धैर्यवान है। इंडेक्स i पर एक नाराज छात्र हर मिनट इंडेक्स i+1 पर धैर्यवान छात्र को मारेगा, और अंतिम छात्र के लिए भले ही वह नाराज हो, वह किसी को नहीं मार सकता। धैर्यवान छात्र को मारने के बाद, वह छात्र भी नाराज हो जाता है। हमें न्यूनतम मिनट ढूंढने हैं जिसके बाद कोई नया छात्र नाराज नहीं होता।

उदाहरण के लिए, यदि इनपुट S = "PPAPP" है, तो आउटपुट 2 होगा, क्योंकि पहले मिनट के बाद, स्ट्रिंग "PPAAP" होगी, फिर दूसरे मिनट में "PPAAA", फिर कोई नया छात्र फिर से नाराज नहीं होता।

चरण

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

n := size of S ans := 0, cnt = 0 for initialize i := n - 1, when i >= 0, update (decrease i by 1), do:    if S[i] is same as 'P', then:       (increase cnt by 1)    Otherwise       ans := maximum of ans and cnt       cnt := 0 return ans

उदाहरण

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

#include <bits/stdc++.h> using namespace std; int solve(string S) {    int n = S.size();    int ans = 0, cnt = 0;    for (int i = n - 1; i >= 0; i--) {       if (S[i] == 'P') {          cnt++;       } else {          ans = max(ans, cnt);          cnt = 0;       }    }    return ans; } int main() {    string S = "PPAPP";    cout << solve(S) << endl; }

इनपुट

PPAPP

आउटपुट

2
  1. - C++ प्रोग्रामिंग कैसे सीखें?

    तो आपने C++ में प्रोग्राम करना सीखने का फैसला किया है लेकिन नहीं जानते कि कहां से शुरू करें। यहां एक संक्षिप्त अवलोकन है कि आप कैसे शुरुआत कर सकते हैं। C++ कंपाइलर प्राप्त करें यह पहला कदम है जो आप C++ में प्रोग्राम करना सीखना शुरू करने से पहले करना चाहेंगे। सभी प्रमुख OS प्लेटफॉर्म्स के लिए अच्छे

  1. - C++ में एक साधारण प्रोग्राम कैसे बनाएं?

    C++ में एक बहुत ही साधारण प्रोग्राम प्राप्त करने के लिए, आपको पहले इसे सेट अप करना होगा और फिर इसके लिए प्रोग्राम बनाना होगा। निम्नलिखित चरण C++ में एक बहुत ही साधारण प्रोग्राम का उपयोग करके शुरुआत करने का तरीका सूचीबद्ध करते हैं। C++ कंपाइलर प्राप्त करें यह पहला कदम है जो आप C++ में प्रोग्राम करना

  1. - पायथन में फाइनल मैच जीतने वाले तैराकों की संख्या गिनने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है जिसकी लंबाई n है। इस सूची में मौजूद तत्व एक प्रतियोगिता में तैराकों के वर्तमान स्कोर का प्रतिनिधित्व कर रहे हैं। फाइनल मैच के लिए इस वर्तमान दौर का प्रथम स्थान विजेता n स्कोर प्राप्त करेगा, द्वितीय स्थान विजेता n-1 अंक प्राप्त करेगा और इसी तरह। हम