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

पायथन में दो स्ट्रिंग्स के बीच लेक्सिकोग्राफिकली बड़ी परम्युटेशन मौजूद है या नहीं जांचने का प्रोग्राम


मान लीजिए हमारे पास समान आकार की दो स्ट्रिंग्स s और t हैं, हमें जांचना है कि क्या s की कोई परम्युटेशन s1 और t की कोई परम्युटेशन t1 ऐसी है कि: सभी 0 <= i < n के लिए s1[i] <= t1[i] या सभी 0 <= i < n के लिए t1[i] <= s1[i]।

उदाहरण के लिए, यदि इनपुट s = "vyx" और t = "wzx" है, तो आउटपुट True होगा, क्योंकि हम s1 = "vxy" और t1 = "wxz" ले सकते हैं।

समाधान दृष्टिकोण

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

  • यदि s और t खाली हैं: True लौटाएं
  • s := sorted(s), t := sorted(t)
  • एक फंक्शन util(s1, t1) परिभाषित करें:
    • i के लिए 0 से len(s1): यदि s1[i] > t1[i] तो False लौटाएं
    • True लौटाएं
  • मुख्य मेथड से:
    • यदि util(s, t): True लौटाएं
    • s, t स्वैप करें
    • util(s, t) लौटाएं

उदाहरण कोड

class Solution:
    def solve(self, s, t):
        if not len(s) or not len(t):
            return True
        s = sorted(s)
        t = sorted(t)
        def util(s1, t1):
            for i in range(len(s1)):
                if s1[i] > t1[i]:
                    return False
            return True
        if util(s, t):
            return True
        s, t = t, s
        return util(s, t)

ob = Solution()
s = "vyx"
t = "wzx"
print(ob.solve(s, t))

इनपुट

"vyx", "wzx"

आउटपुट

True

  1. - C प्रोग्राम: जांचें कि दो स्ट्रिंग्स समान हैं या नहीं

    स्ट्रिंग तुलना C में स्ट्रिंग्स की तुलना के लिए strcmp() फ़ंक्शन का उपयोग किया जाता है (<string.h> में परिभाषित)। strcmp() व्यवहार रिटर्न मानअर्थ 0स्ट्रिंग्स समान हैं < 0str1, str2 से लेक्सिकोग्राफिकली छोटी है > 0str1, str2 से लेक्सिकोग्राफिकली बड़ी है केस सेंसिटिविटी strcmp() क

  1. पायथन में ग्राफ में कोई सामान्य पहुंच योग्य नोड है या नहीं जांचने का प्रोग्राम पायथन में ग्राफ में कोई सामान्य पहुंच योग्य नोड है या नहीं जांचने का प्रोग्राम

    मान लीजिए हमारे पास एक निर्देशित ग्राफ की एज सूची है, इसमें n नोड हैं और नोड नाम 0 से n-1 हैं। हमारे पास दो पूर्णांक मान a और b भी हैं। हमें जांचना है कि क्या कोई नोड c ऐसा है कि हम c से a जा सकते हैं और c से b भी जा सकते हैं। इसलिए, यदि इनपुट ग्राफ छवि में दिखाए अनुसार है और a = 2, b = 3, तो आउटपुट

  1. - पायथन में सूची में किन्हीं दो संख्याओं को खोजें जिनका योग k हो

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है और एक अन्य संख्या k है, हमें जांचना है कि क्या सूची में मौजूद कोई दो संख्याएं k तक जुड़ती हैं या नहीं। समान तत्वों का दो बार उपयोग नहीं किया जाना चाहिए। और संख्याएं नकारात्मक या 0 हो सकती हैं। उदाहरण के लिए, यदि इनपुट है nums = [45, 18, 9, 13, 12