একটি ইন্টিজার অ্যারে এবং একটি টার্গেট সম দেওয়া থাকে। দুটি সংখ্যার ইন্ডেক্স বের করতে হবে যাতে তাদের যোগফল টার্গেটের সমান হয়। একমাত্র সমাধান আছে বলে ধরা হয়েছে।
সমাধানের পদ্ধতি
- একটি হ্যাশ ম্যাপ
requiredবানান। - প্রতিটি
iএর জন্য:- যদি
target - nums[i]ম্যাপে থাকে, তার ইন্ডেক্স এবংiরিটার্ন করুন। - অন্যথায়
required[nums[i]] = iসেট করুন।
- যদি
উদাহরণ কোড
class Solution(object):
def twoSum(self, nums, target):
required = {}
for i in range(len(nums)):
if target - nums[i] in required:
return [required[target - nums[i]], i]
else:
required[nums[i]] = i
input_list = [2,8,12,15]
ob1 = Solution()
print(ob1.twoSum(input_list, 20))
ইনপুট
input_list = [2,8,12,15] target = 20
আউটপুট
[1, 2]