ধরুন আমাদের কাছে পূর্ণসংখ্যার একটি অ্যারে রয়েছে, এখন প্রতিটি পূর্ণসংখ্যা A[i]-এর জন্য আমরা [-K থেকে K] রেঞ্জ সহ যেকোনো x বেছে নিতে পারি তারপর A[i]-এ x যোগ করতে পারি। এখন এই প্রক্রিয়ার পরে, আমাদের কিছু অ্যারে B আছে। আমাদের B-এর সর্বোচ্চ মান এবং B-এর সর্বনিম্ন মানের মধ্যে সম্ভাব্য ক্ষুদ্রতম পার্থক্য খুঁজে বের করতে হবে।
সুতরাং, যদি ইনপুটটি A =[0,10], K =2 এর মত হয়, তাহলে আউটপুট হবে 6, যেমন B =[2,8]
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- MAX :=(সর্বাধিক A) - K
- MIN :=(সর্বনিম্ন A) + K
- পার্থক্য :=MAX - MIN
- যদি পার্থক্য <0 অ-শূন্য হয়, তাহলে
- রিটার্ন 0
- অন্যথায় পার্থক্য ফেরত দিন
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
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