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

सी++ में उत्पत्ति से सबसे दूर


मान लीजिए कि हमारे पास एक स्ट्रिंग s है जहां प्रत्येक वर्ण या तो "L", "R" या "?" है। "L" का अर्थ है एक इकाई को बाईं ओर ले जाना, "R" का अर्थ है एक इकाई को दाईं ओर ले जाना, और "?" या तो "एल" या "आर" का अर्थ है। यदि हम 0 की स्थिति में हैं, तो हमें "?" के स्थान पर 0 से अधिकतम संभव दूरी ज्ञात करनी होगी। "एल" या "आर" के साथ।

तो, यदि इनपुट "LLRRL ??" जैसा है, तो आउटपुट 3 होगा, प्रतिस्थापित करें? 5 इकाइयों को बाएं और 2 इकाइयों को दाएं स्थानांतरित करने के लिए एल का उपयोग करना, इसलिए अधिकतम विस्थापन 3 है।

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

  • सेशन:=0, एल:=0, आर:=0

  • प्रत्येक के लिए यह s -

    . में है
    • यदि यह 'L' के समान है, तो -

      • (1 से 1 बढ़ाएँ)

    • अन्यथा जब यह 'R' के समान हो, तब -

      • (1 से r बढ़ाएँ)

    • अन्यथा

      • (ऑप 1 से बढ़ाएँ)

  • (एल और आर) की अधिकतम वापसी - न्यूनतम (एल और आर) + सेशन

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

उदाहरण

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   int solve(string s) {
      int op = 0;
      int l = 0;
      int r = 0;
      for (auto &it : s) {
         if (it == 'L') {
            l++;
         } else if (it == 'R') {
            r++;
         } else {
            op++;
         }
      }
      return max(l, r) - min(l, r) + op;
   }
};
main() {
   Solution ob;
   cout << (ob.solve("LLRRL??"));
}

इनपुट

"LLRRL??"

आउटपुट

3

  1. C++ में 2D मैट्रिक्स से एक लिंक्ड सूची का निर्माण करें

    मान लीजिए कि हमारे पास एक मैट्रिक्स है, हमें इसे पुनरावर्ती दृष्टिकोण का उपयोग करके 2d लिंक्ड सूची में बदलना होगा। सूची में दाएँ और नीचे सूचक होंगे। तो, अगर इनपुट पसंद है 10 20 30 40 50 60 70 80 90 तब आउटपुट होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - फ़ंक्शन को परिभाषित करें

  1. C++ में रोबोट उत्पत्ति पर लौटें

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

  1. सी ++ में प्रीऑर्डर ट्रैवर्सल से एक पेड़ पुनर्प्राप्त करें

    मान लीजिए कि एक बाइनरी ट्री है। हम एक बाइनरी ट्री की जड़ पर एक प्रीऑर्डर डेप्थ फर्स्ट सर्च चलाएंगे। इस ट्रैवर्सल में प्रत्येक नोड पर, आउटपुट डैश की डी संख्या होगी (यहां डी इस नोड की गहराई है), उसके बाद हम इस नोड का मान प्रदर्शित करते हैं। जैसा कि हम जानते हैं कि यदि किसी नोड की गहराई D है, तो उसके