কম্পিউটার

পাইথনে প্রদত্ত অ্যারে প্রায় বাছাই করা হয়েছে কিনা পরীক্ষা করুন (উপাদানগুলি সর্বাধিক এক অবস্থান দূরে)


ধরুন আমাদের কাছে সংখ্যার একটি অ্যারে আছে যাকে বলা হয় সংখ্যা, যেখানে সমস্ত উপাদান অনন্য। সংখ্যাগুলি প্রায় সাজানো হয়েছে কিনা তা আমাদের পরীক্ষা করতে হবে। যেমনটি আমরা জানি যে একটি অ্যারে প্রায় সাজানো হয় যখন এর যেকোন উপাদানটি সাজানো অ্যারেতে তার আসল অবস্থান থেকে সর্বোচ্চ 1 দূরত্বে ঘটতে পারে।

সুতরাং, যদি ইনপুটটি nums =[10, 30, 20, 40] এর মতো হয়, তাহলে আউটপুটটি True হবে কারণ 10 তার আসল জায়গায় স্থাপন করা হয়েছে এবং অন্যান্য সমস্ত উপাদান তাদের প্রকৃত অবস্থান থেকে সর্বাধিক এক জায়গায় রয়েছে।

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

  • i :=0
  • যখন i <সংখ্যার আকার - 1, do
    • যদি nums[i]> nums[i + 1], তারপর
      • সংখ্যা অদলবদল করুন [i] এবং সংখ্যাগুলি[i + 1]
      • i :=i + 1
    • i :=i + 1
  • আমি 0 থেকে সংখ্যার আকার - 1 এর রেঞ্জের জন্য, কর
    • যদি nums[i]> nums[i + 1], তারপর
      • মিথ্যে ফেরত দিন
  • সত্য ফেরান

উদাহরণ

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

def solve(nums):
   i = 0
   while i < len(nums) - 1:
      if nums[i] > nums[i + 1]:
         nums[i], nums[i + 1] = nums[i + 1], nums[i]
         i += 1
      i += 1
   for i in range(len(nums) - 1):
      if nums[i] > nums[i + 1]:
         return False
   return True
nums = [10, 30, 20, 40]
print(solve(nums))

ইনপুট

[10, 30, 20, 40]

আউটপুট

True

  1. পাইথনে সাজানো আকারে উপাদানের বর্গাকার তালিকা

  2. পাইথনে অ্যারে জিগজ্যাগ করতে উপাদানগুলি হ্রাস করুন

  3. পাইথনে একটি প্রদত্ত অবস্থান পর্যন্ত একটি অ্যারেকে বিপরীত করার প্রোগ্রাম

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