ধরুন আমাদের কাছে nums নামে একটি অ্যারে আছে, আমাদের পরীক্ষা করতে হবে যে অ্যারেটি আসলে অ-হ্রাস না হওয়া ক্রমে সাজানো হয়েছে এবং তারপর কিছু সংখ্যক অবস্থান ঘোরানো হয়েছে (শূন্য হতে পারে) বা না। সদৃশগুলি অ্যারেতেও উপস্থিত হতে পারে৷
৷সুতরাং, যদি ইনপুটটি nums =[12,15,2,5,6,9] এর মত হয়, তাহলে আউটপুট হবে True, কারণ এটি দুটি জায়গায় ডানদিকে ঘোরানো হয়
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
j :=0
-
যখন j <সংখ্যার আকার - 1 এবং সংখ্যা[j] <=সংখ্যা[j + 1], করবেন
-
j :=j + 1
-
-
res :=(সূচক j + 1 থেকে nums এর শেষ পর্যন্ত nums এর subarray) concatenate (index 0 থেকে j পর্যন্ত nums)
-
আমি 0 থেকে রেঞ্জ- 1-এর মাপ রেঞ্জের জন্য, কর
-
যদি res[i]> res[i + 1] হয়, তাহলে
-
রিটার্ন ফলস
-
-
-
রিটার্ন ট্রু
উদাহরণ (পাইথন)
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(nums): j = 0 while (j < len(nums) - 1 and nums[j] <= nums[j + 1]): j += 1 res = nums[j + 1 : len(nums)] + nums[0:j + 1] for i in range(len(res) - 1): if res[i] > res[i + 1]: return False return True nums = [12,15,2,5,6,9] print(solve(nums))
ইনপুট
[12,15,2,5,6,9]
আউটপুট
True