ধরুন আমাদের কাছে 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