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

পাইথনে স্মলেস্ট রেঞ্জ I

মান লেই একটি অ্যারে A আছে ইন্টিজারদের, এখন প্রতিটি ইন্টিজার A[i] এর জন্য আমরা [-K to K] রেঞ্জ থেকে যেকোনো x বেছে নিতে পারি তারপর x কে A[i]-তে যোগ করব। এই প্রসেসের পর, আমাদের কিছু অ্যারে B পাওয়া যাবে। আমাদের B-এর ম্যাক্সিমাম ভ্যালু এবং মিনিমাম ভ্যালুর মধ্যে সবচেয়ে ছোট পার্থক্য বের করতে হবে।

সেজন্য, যদি ইনপুট হয় A = [0,10], K = 2, তবে আউটপুট হবে ৬, কারণ B = [2,8]

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

  • MAX := (A-এর ম্যাক্সিমাম) - K
  • MIN := (A-এর মিনিমাম) + K
  • difference := MAX - MIN
  • যদি difference < 0 হয়, তবে
    • 0 রিটার্ন
  • অন্যথায় difference রিটার্ন

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

উদাহরণ

class Solution:
    def smallestRangeI(self, A, K):
        MAX = max(A) - K
        MIN = min(A) + K
        difference = MAX - MIN
        if difference < 0:
            return 0
        else:
            return difference

ob = Solution()
print(ob.smallestRangeI([0,10], 2))

ইনপুট

[0,10],2

আউটপুট

6
  1. পাইথনে ওয়ার্ড ব্রেক

  2. পাইথনে অল্টারনেট রেঞ্জ স্লাইসিং

  3. পাইথনে ম্যাট্রিক্স ইনিশিয়ালাইজেশন (Initialize Matrix)

  4. পাইথনের বিভিন্ন ইমপ্লিমেন্টেশনের পার্থক্য: CPython, Jython, IronPython, PyPy