मान लीजिए हमारे पास डेटा की एक सूची है जिसे 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