কম্পিউটার টিউটোরিয়াল

পাইথনে একটি অ্যারে প্রায় সর্টেড (Almost Sorted) কিনা যাচাই করার পদ্ধতি

ধরি আমাদের একটি নম্বরের অ্যারে আছে যার নাম nums, যেখানে সব এলিমেন্ট ইউনিক। আমাদের যাচাই করতে হবে nums প্রায় সর্টেড কিনা। একটি অ্যারে প্রায় সর্টেড হলে তার যেকোনো এলিমেন্ট তার আসল পজিশন থেকে সর্বোচ্চ ১ দূরত্বে থাকতে পারে।

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

সমাধানের ধাপসমূহ

  • i := 0
  • যতক্ষণ i < nums-এর সাইজ - 1:
    • যদি nums[i] > nums[i+1], তবে সেগুলো 스왪 করুন এবং i বাড়ান
    • i বাড়ান
  • সারো অ্যারে চেক করুন কোনো এলিমেন্ট অর্ডার বাইরে আছে কিনা
  • যদি কোনো এলিমেন্ট অর্ডার বাইরে থাকে তবে false, অন্যথায় true রিটার্ন করুন

উদাহরণ

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. পাইথন প্রোগ্রাম: অ্যারে নির্দিষ্ট পজিশন পর্যন্ত রিভার্স করা