ইন্টিজার অ্যারে দেওয়া থাকলে, একটি ফাংশন ব্যবহার করে অ্যারের বাইটোনিসিটি (bitonicity) ক্যালকুলেট করতে হবে।
অ্যারের বাইটোনিসিটি হলো:
- শুরুতে ০
- পরের উপাদান পिछলেটির চেয়ে বড় হলে ১ বাড়ানো হয়
- পরের উপাদান পिछলেটির চেয়ে ছোট হলে ১ কমানো হয়
উদাহরণ
Input: arr[] = { 1,4,3,5,2,9,10,11} Output: Bitonicity of an array is : 3
ব্যাখ্যা:
- বাইটোনিসিটি ক্যালকুলেট করার ভেরিয়েবল temp ০ দিয়ে ইনিশিয়ালাইজ করুন
- অ্যারের প্রথম উপাদান ১ থেকে শুরু করুন। arr[i] এবং arr[i-1] তুলনা করুন, ৪ > ১ হলে temp ১ বাড়ান। আবার ৪ এবং ৩ তুলনা করুন, ৩ < ৪ হলে temp ১ কমান।
- চূড়ান্ত temp-এর মান প্রিন্ট করুন যা ৩
নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতি:
- অ্যারে arr[n] (n=আকার) সব উপাদান traverser করুন
- যদি arr[i] > arr[i-1], তবে bitonicity = bitonicity + 1
- যদি arr[i] < arr[i-1], তবে bitonicity = bitonicity - 1
- যদি arr[i] = arr[i-1], তবে bitonicity অপরিবর্তিত থাকে
আলগরিদম
Start
Step 1 -> Declare function to calculate bitonicity of an array
int cal_bitonicity(int arr[], int n)
set int temp = 0
Loop For int i = 1 and i < n and i++
IF (arr[i] > arr[i - 1])
Increment temp++
End
Else IF (arr[i] < arr[i - 1])
Decrement temp--
End
return temp
step 2 -> In main()
declare int arr[] = { 1,4,3,5,2,9,10,11}
set int n = sizeof(arr) / sizeof(arr[0])
Call cal_bitonicity(arr, n)
Stop
C++ প্রোগ্রাম উদাহরণ
#include <iostream>
using namespace std;
// calculate bitonicity
int cal_bitonicity(int arr[], int n) {
int temp = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > arr[i - 1])
temp++;
else if (arr[i] < arr[i - 1])
temp--;
}
return temp;
}
int main() {
int arr[] = { 1,4,3,5,2,9,10,11};
int n = sizeof(arr) / sizeof(arr[0]);
cout<<"Bitonicity of an array is : " <
আউটপুট
Bitonicity of an array is : 3