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