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

Python দিয়ে অ্যারে সমান করার জন্য মিনিমাম অপারেশন বের করার প্রোগ্রাম


মান লাগিয়ে, আমাদের একটি মান n আছে, n এলিমেন্টের একটি অ্যারে nums বিবেচনা করুন, যেখানে arr[i] = (2*i)+1 সব i-এর জন্য। এখন এক অপারেশনে, আমরা দুটি ইন্ডেক্স x এবং y বেছে নিতে পারি যেখানে 0 <= x, y < n এবং nums[x]- থেকে ১ বিয়োগ করব এবং nums[y]-তে ১ যোগ করব। আমাদের অ্যারের সব এলিমেন্ট একই করতে হবে। তাই যদি n থাকে, তবে nums-এর সব এলিমেন্ট একই করার জন্য মিনিমাম কত অপারেশন লাগবে তা বের করতে হবে।

যেমন, ইনপুট n = 4 হলে, আউটপুট হবে 4 কারণ n-এর জন্য অ্যারে হল [1,3,5,7], প্রথম অপারেশনে [2,3,5,6], দ্বিতীয়ে [3,3,5,5], তৃতীয়ে [4,3,4,5] এবং চতুর্থে [4,4,4,4]। এখন সব সমান।

এটি সমাধান করতে আমরা নিচের ধাপগুলো অনুসরণ করব:

  • ans:= 0
  • যদি n == 1 হয়, তবে ans রিটার্ন করুন
  • q:= (n//2) -1
  • j:= 1
  • q >= 0 থাকা পর্যন্ত:
    • ans:= ans + (n-j)
    • q := q - 1
    • j := j + 2
  • ans রিটার্ন করুন

বेहतर বোঝার জন্য নিচের ইমপ্লিমেন্টেশন দেখুন:

উদাহরণ

def solve(n):
    ans=0
    if n==1:
        return ans
    q=(n//2)-1
    j=1
    while q>=0:
        ans=ans+(n-j)
        q-=1
        j+=2
    return ans
n = 4
print(solve(n))

ইনপুট

4

আউটপুট

4

  1. Python দিয়ে বাইনারি গ্রিড সাজাতে মিনিমাম সোয়াপ বের করার প্রোগ্রাম

  2. পাইথনে দুটি লিস্টকে স্ট্রিক্টলি ইনক্রিজিং করার জন্য ন্যূনতম সওয়াপের সংখ্যা বের করার প্রোগ্রাম

  3. পাইথনে একটি সংখ্যাকে অন্য সংখ্যায় রূপান্তর করার ন্যূনতম অপারেশন বের করার প্রোগ্রাম

  4. পাইথনে স্ট্রিং s-কে পরিবর্তন করে t কে সাবস্ট্রিং बनानेয় ন্যূনতম অপারেশন বের করার প্রোগ্রাম