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

C++ में जांचें कि क्या एक स्ट्रिंग दूसरी स्ट्रिंग को ब्रेक कर सकती है


मान लीजिए हमारे पास दो स्ट्रिंग्स s1 और s2 हैं जिनका आकार समान है; हमें जांचना है कि क्या s1 का कोई क्रमचय s2 के किसी क्रमचय को ब्रेक कर सकता है या इसके विपरीत। एक स्ट्रिंग a, स्ट्रिंग b को ब्रेक कर सकती है यदि सभी i के लिए 0 से n-1 तक की रेंज में x[i] >= y[i] (वर्णमाला क्रम में) हो।

इसलिए, यदि इनपुट है s1 = abc और s2 = xya, तो आउटपुट true होगा। ऐसा इसलिए है क्योंकि "ayx" s2 का एक क्रमचय है जो "abc" को ब्रेक कर सकता है जो s1="abc" का एक क्रमचय है।

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

  • एक फ़ंक्शन check() परिभाषित करें, जो s1, s2 लेगा,

  • i := 0 से शुरू करें, जब i < s1 का आकार, i बढ़ाते हुए, करें -

    • यदि s2[i] < s1[i], तो -

      • false लौटाएं

  • true लौटाएं

  • मुख्य विधि से, निम्न करें -

  • s1 ऐरे को सॉर्ट करें

  • s2 ऐरे को सॉर्ट करें

  • f3 := check(s2, s1)

  • f4 := check(s1, s2)

  • true लौटाएं यदि f3 true है या f4 true है, अन्यथा false

उदाहरण

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

#include <bits/stdc++.h> using namespace std; class Solution { public:    bool check(string& s1, string& s2){       for (int i = 0; i < s1.size(); i++) {          if (s2[i] < s1[i])             return false;       }       return true;    }    bool checkIfCanBreak(string s1, string s2) {       sort(s1.begin(), s1.end());       sort(s2.begin(), s2.end());       bool f3 = check(s2, s1);       bool f4 = check(s1, s2);       return f3 || f4;    } }; main(){    Solution ob;    cout << (ob.checkIfCanBreak("abc", "xya")); }

इनपुट

"abc", "xya"

आउटपुट

1

  1. Swift में स्ट्रिंग में दूसरी स्ट्रिंग है या नहीं जांचें Swift में स्ट्रिंग में दूसरी स्ट्रिंग है या नहीं जांचें

    स्ट्रिंग कंटेनमेंट चेक Swift में यह जांचने के लिए कि कोई स्ट्रिंग दूसरी स्ट्रिंग को कंटेन करती है या नहीं, हमें दो अलग-अलग स्ट्रिंग्स की आवश्यकता होगी। एक स्ट्रिंग जिसे हमें जांचना है कि क्या उसमें दूसरी स्ट्रिंग है। मान लीजिए जिस स्ट्रिंग को हम जांचना चाहते हैं वह point है और पूरी स्ट्रिंग Tutoria

  1. C++ में जांचें कि बाइनरी ट्री किसी अन्य बाइनरी ट्री का सबट्री है या नहीं C++ में जांचें कि बाइनरी ट्री किसी अन्य बाइनरी ट्री का सबट्री है या नहीं

    मान लीजिए हमारे पास दो बाइनरी ट्री हैं। हमें जांचना है कि छोटा ट्री दूसरे बाइनरी ट्री का सबट्री है या नहीं। मान लीजिए ये दो ट्री दिए गए हैं।दो ट्री हैं। दूसरा ट्री पहले का सबट्री है। इस गुण की जांच करने के लिए, हम ट्री को पोस्ट-ऑर्डर फैशन में ट्रैवर्स करेंगे, फिर यदि इस नोड से रूटेड सबट्री दूसरे ट्र

  1. - पायथन में जांचें कि कोई स्ट्रिंग दूसरी स्ट्रिंग को 2 स्थान घुमाकर प्राप्त की जा सकती है या नहीं

    मान लीजिए हमारे पास दो स्ट्रिंग्स s और t हैं। हमें यह जांचना है कि क्या हम t को किसी भी दिशा (बाएं या दाएं) में दो स्थान घुमाकर (rotate) s प्राप्त कर सकते हैं। उदाहरण के लिए, यदि इनपुट s = kolkata, t = takolka है, तो आउटपुट True होगा क्योंकि हम takolka को बाईं ओर दो बार घुमाकर kolkata प्राप्त कर सक