ধরুন আমাদের কাছে N সংখ্যা সহ একটি অ্যারে আছে, আমাদের পরীক্ষা করতে হবে যে 3টি উপাদান যেমন b[i]
সুতরাং, যদি ইনপুটটি [13, 12, 11, 6, 7, 3, 31] এর মত হয়, তাহলে আউটপুট হবে [6,7,31]
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- n :=A এর আকার
- সর্বোচ্চ :=n-1, সর্বনিম্ন :=0
- ছোট :=1000 আকারের একটি অ্যারে, এবং 0 দিয়ে পূরণ করুন
- ছোট[0] :=-1
- 1 থেকে n রেঞ্জের জন্য,
- করুন
- যদি A[i] <=A[মিনিমাম], তাহলে
- সর্বনিম্ন :=i
- ছোট[i] :=-1
- অন্যথায়,
- ছোট[i] :=সর্বনিম্ন
- যদি A[i] <=A[মিনিমাম], তাহলে
- বৃহত্তর :=1000 আকারের একটি অ্যারে, এবং 0 দিয়ে পূরণ করুন
- বৃহত্তর[n-1] :=-1 n-2 থেকে -1 রেঞ্জে
- এর জন্য, 1 কমিয়ে,
- করুন
- যদি A[i]>=A[সর্বোচ্চ], তাহলে
- সর্বোচ্চ :=i
- বৃহত্তর[i] :=-1
- অন্যথায়,
- বৃহত্তর[i] :=সর্বোচ্চ
- যদি A[i]>=A[সর্বোচ্চ], তাহলে
- আমি 0 থেকে n রেঞ্জের জন্য, কর
- যদি ছোট[i] -1 এর মত না হয় এবং বড় [i] -1 এর মত না হয়, তাহলে
- রিটার্ন A[ছোট[i]], A[i], A[বৃহত্তর[i]]
- যদি ছোট[i] -1 এর মত না হয় এবং বড় [i] -1 এর মত না হয়, তাহলে
- রিটার্ন "কিছুই না"
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def find_inc_seq(A):n =len(A) সর্বোচ্চ =n-1 ন্যূনতম =0 ছোট =[0]*10000 ছোট[0] =-1 রেঞ্জে i এর জন্য(1, n):যদি (A) [i] <=A[মিনিমাম]):সর্বনিম্ন =i ছোট[i] =-1 অন্য:ছোট[i] =সর্বনিম্ন বৃহত্তর =[0]*10000 বৃহত্তর[n-1] =-1 পরিসীমার জন্য i n-2, -1, -1):যদি (A[i]>=A[সর্বোচ্চ]):সর্বোচ্চ =i বৃহত্তর[i] =-1 অন্য:বৃহত্তর[i] =সীমার মধ্যে i এর জন্য সর্বোচ্চ (0, n):যদি ছোট[i] !=-1 এবং বড় [i] !=-1:A[ছোট[i]], A[i], A[বৃহত্তর[i]] ফেরত দেয় "কিছুই না" arr =[ 13, 12, 11, 6, 7, 3, 31]মুদ্রণ(find_inc_seq(arr) )
ইনপুট
<প্রে>[13, 12, 11, 6, 7, 3, 31]আউটপুট
(6, 7, 31)