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

Python-এ কমাতে এবং পুনর্বিন্যাস করার পর সর্বোচ্চ এলিমেন্ট বের করার প্রোগ্রাম


মনে করুন arr নামে একটি অ্যারে আছে। আমাদের arr-এ কিছু অপারেশন করতে হবে যাতে এটি নিচের শর্তগুলো পূরণ করে −

  • arr-এ প্রথম এলিমেন্ট অবশ্যই 1 হতে হবে।

  • যে কোনো দুটি সন্নিহিত এলিমেন্টের আবসোলিউট ডিফারেন্স hoogোত 1 হতে হবে।

এবং দুটি অপারেশন আছে। আমরা এই দুটি টাইপের অপারেশন যেকোনো সংখ্যকবার করতে পারি −

  • arr-এর যেকোনো মান কে ছোট একটি পজিটিভ নাম্বারে কমাতে পারি।

  • arr-এর এলিমেন্টগুলো যেকোনো অর্ডারে পুনর্বিন্যাস করতে পারি।

শর্তগুলো পূরণ করার জন্য অপারেশন করার পর arr-এ সর্বোচ্চ সম্ভাব্য মান বের করতে হবে।

সুতরাং, যদি ইনপুট হয় arr = [3,3,2,3,2], তবে আউটপুট হবে 3 কারণ, আমরা লাস্ট এলিমেন্টকে 1 করে কমাতে পারি, তারপর এদের এভাবে সাজাতে পারি [1,2,3,3,3], এবং সর্বোচ্চ 3।

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

  • arr তালিকাটি সর্ট করুন

  • arr[0] := 1

  • i = 1 থেকে arr-এর আকার - 1 পর্যন্ত জন্য, করুন

    • arr[i] := (arr[i - 1] + 1) এবং arr[i] এর মধ্যে ন্যূনতম

  • arr-এর সর্বোচ্চ রিটার্ন করুন

উদাহরণ

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

def solve(arr):
    arr.sort()
    arr[0] = 1
    for i in range(1, len(arr)):
        arr[i] = min(arr[i - 1] + 1, arr[i])
    return max(arr)

arr = [3,3,2,3,2]
print(solve(arr))

ইনপুট

[3,3,2,3,2]

আউটপুট

3

  1. পাইথন প্রোগ্রাম ডিকশনারিতে দ্বিতীয় সর্বোচ্চ মান বের করা

  2. পাইথন প্রোগ্রাম: ২ডি অ্যারে-তে k-তম ছোট এলিমেন্ট বের করা

  3. পাইথনে লিস্ট থেকে সর্বোচ্চ, সর্বনিম্ন, দ্বিতীয় সর্বোচ্চ ও দ্বিতীয় সর্বনিম্ন বের করা

  4. পাইথনে লিস্টে সর্বোচ্চ ও ন্যূনতম উপাদানের পজিশন বের করার প্রোগ্রাম