কম্পিউটার

একটি সাব অ্যারেকে বিপরীত করলে অ্যারেটি পাইথনে সাজানো হয় কিনা তা পরীক্ষা করুন


ধরুন আমাদের কাছে অনন্য উপাদান সহ nums নামে একটি অ্যারে আছে। এর একটি সাব-অ্যারে বিপরীত করার পরে অ্যারেটি সাজানো হবে কি না তা আমাদের পরীক্ষা করতে হবে। যদি অ্যারেটি ইতিমধ্যেই সাজানো থাকে, তাহলেও সত্য ফেরত দিন।

সুতরাং, যদি ইনপুটটি nums =[4,6,27,25,15,9,37,42] এর মত হয়, তাহলে আউটপুটটি True হবে কারণ আমরা যদি [9,15,25,27] রিভার্স করি, তাহলে অ্যারে সাজানো হবে।

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

  • n :=সংখ্যার আকার
  • যদি অ্যারেতে শুধুমাত্র একটি উপাদান থাকে তাহলে True রিটার্ন করুন
  • i :=1
  • 1 থেকে n - 1 রেঞ্জের জন্য,
      করুন
    • যদি nums[i - 1]
    • যদি i n এর মত হয়, তাহলে true রিটার্ন করুন, অন্যথায় লুপ থেকে বেরিয়ে আসুন
  • j :=i
  • যখন j
  • যদি i> 1 এবং nums[j]
  • j :=j + 1
  • যদি j n এর মত হয়, তাহলে True ফেরত দিন
  • k :=j
  • যদি nums[k]
  • যখন k> 1 এবং k
  • যদি nums[k]
  • k :=k + 1
  • সত্য ফেরান
  • আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

    উদাহরণ কোড

    def solve(nums):
       n = len(nums)
       if n == 1:
          return True
     
       i = 1
       for i in range(1, n):
          if nums[i - 1] < nums[i] :
             if i == n:
               return True
          else:
             break
       j = i
       
       while j < n and nums[j] < nums[j - 1]:
          if i > 1 and nums[j] < nums[i - 2]:
             return False
          j += 1
     
       if j == n:
          return True
     
       k = j
       if nums[k] < nums[i - 1]:
          return False
     
       while k > 1 and k < n:
          if nums[k] < nums[k - 1]:
             return False
          k += 1
       return True
    
    nums = [4,6,27,25,15,9,37,42]
    print(solve(nums))

    ইনপুট

    [4,6,27,25,15,9,37,42]

    আউটপুট

    True

    1. পাইথনে একটি অ্যারে সাজানো এবং ঘোরানো হয়েছে কিনা তা পরীক্ষা করুন

    2. পাইথনের একটি সাজানো অ্যারেতে একটি সংখ্যা সংখ্যাগরিষ্ঠ উপাদান কিনা তা পরীক্ষা করুন

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

    4. প্রদত্ত অ্যারেটি মনোটোনিক কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম