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

পাইথনে দুটি অ্যারে থেকে এক্সপ্রেশন मैক্সিমাইজ করার মান বের করার প্রোগ্রাম

দুটি অ্যারে nums এবং values দেওয়া আছে (দেড়েStrictly increasing nums)। i ≤ j এমন যেন v = values[i] + values[j] + nums[j] - nums[i] ম্যাক্সিমাইজ হয়।

উদাহরণ

nums = [1, 2, 7], values = [-4, 6, 5] → আউটপুট: 16

i=1, j=2 → 6 + 5 + 7 - 2 = 16

এলগরিদম (O(n))

  1. ans1 := -inf, ans2 := -inf
  2. প্রতিটি i এর জন্য:
    • ans1 = max(ans1, values[i] - nums[i])
    • ans2 = max(ans2, values[i] + nums[i])
  3. ans1 + ans2 রিটার্ন করুন।

পাইথন কোড

from math import inf

def solve(nums, values):
    ans1 = -inf
    ans2 = -inf
    for i in range(len(nums)):
        ans1 = max(ans1, values[i] - nums[i])
        ans2 = max(ans2, values[i] + nums[i])
    return ans1 + ans2

nums = [1, 2, 7]
values = [-4, 6, 5]
print(solve(nums, values))  # আউটপুট: 16

ইনপুট / আউটপুট

[1, 2, 7], [-4, 6, 5]
16
  1. পাইথন প্রোগ্রাম: সিরিজে NaN (Not a Number) ভ্যালুর ইনডেক্স খুঁজে বের করুন

  2. পাইথনে বাইনারি ম্যাট্রিক্সে সেফ ডিস্ট্যান্স ফ্যাক্টর k-এর সর্বোচ্চ মান বের করা

  3. পাইথনে ইউনিক অ্যারেতে কনটিগুয়াস ইন্টারভাল খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে অ্যারে গুণফলকে n দিয়ে ভাগ করার অবশেষ বের করার প্রোগ্রাম