দুটি অ্যারে nums1 এবং nums2 ও একটি মান k দেওয়া আছে। nums1-এর যেকোনো একটি এলিমেন্টে [-k, k] পরিসরের যেকোনো মান যোগ করে (শুধু একবার) দুটি অ্যারে সমান করা সম্ভব কিনা তা যাচাই করতে হবে।
উদাহরণ
ইনপুট: nums1 = [5,7,11], nums2 = [5,5,11], k = 8
আউটপুট: True
ব্যাখ্যা: nums1[1]-এ -2 যোগ করলে সেটি হয়ে যায় ৫, ফলে অ্যার দুটি সমান হয়।
সমাধানের ধাপ
- দুটি অ্যারে সর্ট করুন।
- এলিমেন্ট दर এলিমেন্ট তুলনা করুন। যদি একাধিক জায়গায় পার্থক্য পাওয়া যায়, তবে
False। - যদি পার্থক্যের পরিমাণ
k-এর চেয়ে কম বা সমান হয়, তবেTrue।
উদাহরণ কোড
def solve(nums1, nums2, k):
nums1.sort()
nums2.sort()
temp = False
idx = -1
for i in range(len(nums1)):
if nums1[i] != nums2[i]:
if temp:
return False
temp = True
idx = i
if idx == -1 or abs(nums1[idx] - nums2[idx]) <= k:
return True
return False
nums1 = [5, 7, 11]
nums2 = [5, 5, 11]
k = 8
print(solve(nums1, nums2, k)) # Output: True
ইনপুট
[5,7,11], [5,5,11], 8
আউটপুট
True