ধরুন আমাদের একটি ডেটা লিস্ট আছে x, যা একটি ডোমেন রিপ্রেজেন্ট করে এবং আরেকটি লিস্ট y (যার সাইজ x-এর সাইজের সমান) যা একটি রেঞ্জ রিপ্রেজেন্ট করে। আমাদের চেক করতে হবে x -> y একটি ফাংশন কিনা। এখানে আমরা x এবং y-এর সব এলিমেন্ট পজিটিভ ধরে নিচ্ছি।
উদাহরণস্বরূপ, যদি ইনপুট x = [1,3,2,6,5] এবং y = [1,9,4,36,25] হয়, তবে আউটপুট হবে True, কারণ প্রতিটি x-এর জন্য সংশ্লিষ্ট y এর স্কোয়ার ভ্যালু, তাই এটি একটি ফাংশন।
সমাধানের ধাপসমূহ
এখানে আমরা একটি সিম্পল সেট অফ স্টেপ বিবেচনা করছি। এই সমস্যাটি আরও জটিলভাবে ও সমাধান করা যায়।
mp :=একটি নতুন ম্যাপfor i in range 0 to size of x:a := x[i],b := y[i]- যদি
amp-এ না থাকে, তবে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