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

पायथन में जांचने का प्रोग्राम कि डोमेन और रेंज फंक्शन बना रहे हैं या नहीं


मान लीजिए हमारे पास डेटा की एक सूची है जिसे x कहते हैं, जो एक डोमेन को दर्शाता है और y नामक डेटा की एक सूची (y का आकार x के आकार के समान है), जो एक रेंज को दर्शाता है। हमें जांचना है कि x -> y एक फंक्शन है या नहीं। यहां हम x और y में सभी तत्वों को पॉजिटिव मान रहे हैं।

उदाहरण के लिए, यदि इनपुट x = [1,3,2,6,5] y = [1,9,4,36,25] है, तो आउटपुट True होगा, क्योंकि प्रत्येक x के लिए, संबंधित y यहां उसका वर्ग मान है, तो यह एक फंक्शन है।

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

यहां हम एक सरल चरणों के सेट पर विचार कर रहे हैं। इस समस्या को कुछ जटिल तरीके से भी हल किया जा सकता है।

  • mp := एक नया मैप
  • i के लिए 0 से x के आकार तक की रेंज में, करें
    • a := x[i]
    • b := y[i]
    • यदि a, mp में नहीं है, तो
      • mp[a] := b
    • अन्यथा,
      • False लौटाएं
  • True लौटाएं

उदाहरण

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

def solve(x, y):
    mp = {}
    for i in range(len(x)):
        a = x[i]
        b = y[i]
        if a not in mp:
            mp[a] = b
        else:
            return False
    return True

x = [1,3,2,6,5]
y = [1,9,4,36,25]
print(solve(x, y))

इनपुट

[1,3,2,6,5], [1,9,4,36,25]

आउटपुट

True
  1. दिए गए ब्लॉक्स की सूची x = y रेखा पर सममित है या नहीं जांचने का पायथन प्रोग्राम दिए गए ब्लॉक्स की सूची x = y रेखा पर सममित है या नहीं जांचने का पायथन प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है। और यह वर्ग ब्लॉक्स की ऊंचाई को दर्शाता है, हमें जांचना है कि क्या आकृति y = x रेखा पर सममित है या नहीं। उदाहरण के लिए, यदि इनपुट nums = [7, 5, 3, 2, 2, 1, 1] है, तो आउटपुट True होगा। इसे हल करने के लिए, हम निम्न चरणों का पालन करेंगे: i := 0 j

  1. दो पत्तियों के लीफ अनुक्रम समान हैं या नहीं जांचने का पायथन प्रोग्राम दो पत्तियों के लीफ अनुक्रम समान हैं या नहीं जांचने का पायथन प्रोग्राम

    मान लीजिए हमारे पास दो बाइनरी ट्री हैं; हमें जांचना है कि क्या दोनों ट्री में बाएं से दाएं लीफ का अनुक्रम समान है। उदाहरण के लिए, यदि इनपुट इस तरह है: तो आउटपुट True होगा क्योंकि दोनों ट्री के लिए अनुक्रम [2, 6] है। इसे हल करने के लिए, हम निम्न चरणों का पालन करेंगे: c := एक नई सूची एक फ़ंक्शन ino

  1. पायथन में जांचें कि दिया गया ग्राफ द्विभाजित है या नहीं पायथन में जांचें कि दिया गया ग्राफ द्विभाजित है या नहीं

    मान लीजिए हमारे पास एक अविकल्पित ग्राफ है, हमें जांचना है कि ग्राफ द्विभाजित है या नहीं। जैसा कि हम जानते हैं, एक ग्राफ द्विभाजित होता है जब हम ग्राफ के नोड्स को दो सेट A और B में विभाजित कर सकते हैं ताकि ग्राफ में प्रत्येक किनारा {u,v} का एक नोड u A में और दूसरा नोड v B में हो। उदाहरण के लिए, यदि