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

পাইথনে ভ্যালিড মাউন্টেন অ্যারে চেক

মান লেই একটি অ্যারে A আছে ইন্টিজারদের, আমাদের চেক করতে হবে এটি একটি ভ্যালিড মাউন্টেন অ্যারে কিনা। আমরা জানি A একটি মাউন্টেন অ্যারে যদি এবং কেবল যদি নিচের শর্তগুলো সেটিসফাই করে − A-এর সাইজ >= 3

A-তে এমন কিছু ইন্ডেক্স i থাকে যাতে −

  • A[0] < A[1] < ... A[i-1] < A[i]
  • A[i] > A[i+1] > ... > A[A.length - 1]

সেজন্য, যদি ইনপুট হয় [0,3,2,1], তবে আউটপুট হবে True।

এটি সমাধান করার জন্য আমরা নিচের ধাপগুলো অনুসরণ করব −

  • যদি A-এর সাইজ < 3 হয়, তবে
    • False রিটার্ন
  • i := 1
  • যখন i < A-এর সাইজ এবং A[i] > A[i-1], লুপ
    • i := i + 1
  • যদি i == 1 বা i == A-এর সাইজ হয়, তবে
    • False রিটার্ন
  • যখন i < A-এর সাইজ এবং A[i] < A[i-1], লুপ
    • i := i + 1
  • i == A-এর সাইজ হলে true রিটার্ন

বেস্টার বোঝার জন্য নিচের ইম্প্লিমেন্টেশন দেখুন −

উদাহরণ

class Solution:
    def validMountainArray(self, A):
        if len(A) < 3:
            return False
        i = 1
        while i < len(A) and A[i] > A[i-1]:
            i += 1
        if i == 1 or i == len(A):
            return False
        while i < len(A) and A[i] < A[i-1]:
            i += 1
        return i == len(A)

ob = Solution()
print(ob.validMountainArray([0,3,2,1]))

ইনপুট

[0,3,2,1]

আউটপুট

True
  1. পাইথনে অ্যারে পার্টিশন I

  2. পাইথনে অ্যারে রোটেট (Rotate Array)

  3. পাইথনে সোর্টেড অ্যারে মার্জ (Merge Sorted Array)

  4. পাইথনে অ্যারে গ্রুপ অনুযায়ী উল্টে ফেলার প্রোগ্রাম