কম্পিউটার

পাইথনে ক্ষুদ্রতম রেঞ্জ I


ধরুন আমাদের কাছে পূর্ণসংখ্যার একটি অ্যারে রয়েছে, এখন প্রতিটি পূর্ণসংখ্যা 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

  1. পাইথনে শব্দ বিরতি

  2. তালিকায় বিকল্প পরিসর স্লাইসিং (পাইথন)

  3. পাইথনে ম্যাট্রিক্স শুরু করুন

  4. পাইথনের বিভিন্ন বাস্তবায়নের মধ্যে পার্থক্য?