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

सी ++ कोड सभी कार्यों के बाद न्यूनतम पत्थरों को खोजने के लिए

मान लीजिए कि हमारे पास n वर्णों के साथ एक स्ट्रिंग S है। वर्ण या तो '+' या '-' होंगे। पत्थरों का ढेर है, n बार हमने ढेर से एक पत्थर लिया या ढेर में एक पत्थर जोड़ा। ढेर से एक पत्थर लेने के प्रत्येक ऑपरेशन से पहले ढेर खाली नहीं था। हमें इन संक्रियाओं को करने के बाद पत्थरों की न्यूनतम संभव संख्या ज्ञात करनी होगी जो ढेर में हो सकते हैं। अगर हमने i-th ऑपरेशन पर स्टोन लिया, तो S[i] बराबर "-" है, अगर जोड़ा जाए, तो S[i] "+" के बराबर है।

इसलिए, यदि इनपुट S ="++-++" जैसा है, तो आउटपुट 3 होगा। यदि हमारे पास शुरुआत में ढेर में 0 पत्थर थे, तो ऑपरेशन करने के बाद पत्थरों की संख्या 3 के बराबर होगी।

कदम

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

n := size of S
for initialize i := 0, when i < n, update (increase i by 1), do:
   res := (if S[i] is same as '-', then maximum of res - 1 and 0,
otherwise res + 1)
return res

उदाहरण

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

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

इनपुट

"++-++"

आउटपुट

3

  1. सी ++ में एक ऐरे को सुंदर बनाने के लिए आवश्यक न्यूनतम संचालन खोजें

    इस समस्या में, हमें एक बाइनरी ऐरे बिन [] दिया जाता है जिसमें n बाइनरी मान होते हैं जो 0 और 1 होते हैं। हमारा काम एक ऐरे को सुंदर बनाने के लिए आवश्यक न्यूनतम संचालन खोजना है। सुंदर सरणी एक विशेष प्रकार की बाइनरी सरणी है जिसमें वैकल्पिक 0 और 1 का पैटर्न होता है। समस्या का विवरण - हमें सरणी को सुंदर

  1. सी ++ में बहाली के बाद सभी संभावित आईपी पते को खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास केवल अंकों के साथ एक स्ट्रिंग है, हमें सभी संभावित मान्य आईपी एड्रेस संयोजन बनाकर इसे पुनर्स्थापित करना होगा। हम जानते हैं कि एक वैध आईपी पते में ठीक चार पूर्णांक होते हैं (प्रत्येक पूर्णांक 0 से 255 की सीमा में होता है) एकल अवधि के प्रतीक द्वारा अलग किया जाता है। इसलिए, यदि

  1. C++ में सभी पुस्तकें खरीदने के लिए न्यूनतम लागत ज्ञात करें

    मान लीजिए कि हमारे पास n तत्वों की एक सरणी है। ये उनकी रेटिंग हैं। निम्नलिखित शर्त के साथ सभी पुस्तकों को खरीदने के लिए न्यूनतम लागत ज्ञात कीजिए - प्रत्येक पुस्तक की कीमत कम से कम 1 डॉलर होगी एक किताब की कीमत बगल वाले (बाएं या दाएं) से ज्यादा होती है, अगर रेटिंग बगल वाले से ज्यादा है। तो उदाहरण क