কম্পিউটার

পাইথনে যে উপাদানটির আগে সমস্ত উপাদান তার থেকে ছোট এবং তার পরে সবগুলি বড়, এমন উপাদান খুঁজুন


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

সুতরাং, যদি ইনপুটটি A - [6, 2, 5, 4, 7, 9, 11, 8, 10] এর মত হয়, তাহলে আউটপুট হবে 4।

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

  • n :=arr এর আকার

  • সর্বাধিক_বাম :=আকারের একটি অ্যারে n

  • সর্বাধিক_বাম[0] :=-অসীম

  • 1 থেকে n রেঞ্জের জন্য, করুন

    • সর্বাধিক_বাম[i] :=সর্বাধিক_বাম[i-1], arr[i-1]

  • minimum_right :=infinity

  • n-1 থেকে -1 রেঞ্জে i এর জন্য, 1 দ্বারা হ্রাস করুন, করুন

    • যদি সর্বাধিক_বাম[i] arr[i], তাহলে

      • ফেরত i

    • ন্যূনতম_অধিকার :=সর্বনিম্ন_অধিকার

      • রিটার্ন -1

উদাহরণ

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

def get_element(arr):
   n = len(arr)
   maximum_left = [None] * n
   maximum_left[0] = float('-inf')
   for i in range(1, n):
      maximum_left[i] = max(maximum_left[i-1], arr[i-1])
   minimum_right = float('inf')
   for i in range(n-1, -1, -1):
      if maximum_left[i] < arr[i] and minimum_right > arr[i]:
         return i
      minimum_right = min(minimum_right, arr[i])
   return -1
arr = [6, 2, 5, 4, 7, 9, 11, 8, 10]
print(get_element(arr))

ইনপুট

[6, 2, 5, 4, 7, 9, 11, 8, 10]

আউটপুট

4

  1. পাইথনে K-এর থেকে বড় ক্ষুদ্রতম উপাদান খুঁজুন

  2. Python - K এর থেকে বড় প্রথম উপাদানের সূচক পান

  3. একটি তালিকার সমস্ত মান যা পাইথনে প্রদত্ত মানের চেয়ে বেশি তা পরীক্ষা করার জন্য প্রোগ্রাম

  4. পাইথন প্রোগ্রাম একটি তালিকার সমস্ত মান প্রদত্ত মানের চেয়ে বড় কিনা তা পরীক্ষা করতে