কম্পিউটার

পাইথনে অ-হ্রাসকারী অ্যারে


ধরুন আমাদের কাছে n পূর্ণসংখ্যা সহ একটি অ্যারে আছে, আমাদের কাজ হল সর্বাধিক একটি উপাদান পরিবর্তন করে এটি হ্রাস না হওয়া হতে পারে কিনা তা পরীক্ষা করা। আমরা সংজ্ঞায়িত করতে পারি যে একটি অ্যারে অ-হ্রাস হয় যদি এটি এই নিয়মকে সন্তুষ্ট করে:অ্যারে[i] <=অ্যারে[i + 1] প্রতিটি i (1 <=i

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • যদি arr-এ 2 বা তার কম উপাদান থাকে, তাহলে ture ফেরত দিন

  • উত্তর :=মিথ্যা

  • i এর জন্য রেঞ্জ 0 থেকে arr - 2

    এ উপাদানের সংখ্যা
    • যদি arr[i]> arr[i + 1]

      • যদি উত্তর 0 না হয়, তাহলে মিথ্যা দিন, অন্যথায় ans :=True

      • যদি আমি> 0

        • যদি arr[i - 1]> arr[i + 1] হয়, তাহলে arr[i + 1] :=arr[i]

  • প্রত্যাবর্তন সত্য

উদাহরণ (পাইথন)

আরো ভালোভাবে বোঝার জন্য নিচের বাস্তবায়নটি দেখি -

class Solution(object):
   def checkPossibility(self, nums):
      if len(nums) <=2:
         return True
      ans = False
      for i in range(len(nums)-1):
         if nums[i] > nums[i+1]:
            if ans:
               return False
            else:
               ans = True
            if i>0:
               if nums[i-1] > nums[i+1]: nums[i+1] = nums[i]
      return True
ob1 = Solution()
print(ob1.checkPossibility([4,2,3,5]))

ইনপুট

[4,2,3,5]

আউটপুট

True

  1. পাইথনে অ্যারে ঘোরান

  2. পাইথনে সাজানো অ্যারে মার্জ করুন

  3. bool() পাইথনে

  4. পাইথনে id() ফাংশন