কম্পিউটার টিউটোরিয়াল

পাইথনে একটি 엘িমেন্ট পরিবর্তন করে দুটি অ্যারে সমান করা সম্ভব কিনা

দুটি অ্যারে nums1 এবং nums2 ও একটি মান k দেওয়া আছে। nums1-এর যেকোনো একটি এলিমেন্টে [-k, k] পরিসরের যেকোনো মান যোগ করে (শুধু একবার) দুটি অ্যারে সমান করা সম্ভব কিনা তা যাচাই করতে হবে।

উদাহরণ

ইনপুট: nums1 = [5,7,11], nums2 = [5,5,11], k = 8

আউটপুট: True

ব্যাখ্যা: nums1[1]-এ -2 যোগ করলে সেটি হয়ে যায় ৫, ফলে অ্যার দুটি সমান হয়।

সমাধানের ধাপ

  1. দুটি অ্যারে সর্ট করুন।
  2. এলিমেন্ট दर এলিমেন্ট তুলনা করুন। যদি একাধিক জায়গায় পার্থক্য পাওয়া যায়, তবে False।
  3. যদি পার্থক্যের পরিমাণ 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
  1. পাইথনে লিস্টকে দুটি সমান সম হয় এমন প্যার্টিশনে ভাগ করা সম্ভব কিনা চেক করা

  2. পাইথনে লিস্ট এলিমেন্ট বাম বা ডান থেকে নিচুড়ে একক এলিমেন্ট बनानेয় প্রোগ্রাম

  3. পাইথনে টাপল অফ টাপলে এলিমেন্ট আছে কিনা যাচাই করুন

  4. পাইথনে অ্যারেয়ের সব ডিজিট ব্যবহার করে ৩ দিয়ে বিভাজ্য সংখ্যা বানানো সম্ভব কিনা চেক করা