কম্পিউটার

একটি অ্যারে সাজানো এবং C++ এ ঘোরানো হয়েছে কিনা তা পরীক্ষা করুন


পূর্ণসংখ্যার একটি অ্যারে দেওয়া, কাজটি হল অ্যারেটি সাজানো (ক্রমবর্ধমান) এবং কিছু সংখ্যক অবস্থানের পরে ঘোরানো হয়েছে কিনা তা পরীক্ষা করা।

উদাহরণস্বরূপ

ইনপুট-1:

N = [7, 8, 9, 4, 5, 6]

আউটপুট:

True

ব্যাখ্যা: যেহেতু প্রদত্ত অ্যারেটি ক্রমবর্ধমান ক্রমে রয়েছে এবং 3য় অবস্থানের পরের উপাদানগুলি ঘোরানো হয়েছে, তাই আমরা এই ক্ষেত্রে True ফেরত দেব৷

ইনপুট-2:

N = [1, 5, 7, 6, 2, 3]

আউটপুট:

False

ব্যাখ্যা: যেহেতু প্রদত্ত অ্যারেটি ক্রমবর্ধমান ক্রমে নয় বা নির্দিষ্ট অবস্থানের সাথে ঘোরানো হয় না, আউটপুটটি মিথ্যা৷

এই সমস্যা সমাধানের পদ্ধতি

ক্রমবর্ধমান ক্রমে বা সাজানো ছাড়া আমাদের উপাদান সহ একটি অ্যারে আছে। যদি অ্যারে সাজাতে হয় এবং ঘোরাতে হয়, তাহলে অন্তত একটি উপাদান থাকবে এমন যে N[i]> N[i+1]।

এইভাবে, প্রতিটি N[i]-এর জন্য, শর্ত পূরণ করে এমন কোনো উপাদান থাকলে আমরা গণনা করব এবং সেই অনুযায়ী সত্য বা মিথ্যা ফেরত দেব।

  • একটি অ্যারে উপাদানের ইনপুট নিন।
  • একটি বুলিয়ান ফাংশন checkSortedandRotated(int *arr, int n) ইনপুট হিসাবে একটি অ্যারে এবং এর আকার নেয় এবং অ্যারেটি সাজানো এবং ঘোরানো হলে সত্য ফেরত দেয় অন্যথায় মিথ্যা।
  • পুরো অ্যারেতে পুনরাবৃত্তি করুন এবং উপাদানের সংখ্যা গণনা করুন যা (arr[i]> arr[i+1]%n)। যদি গণনা '1' হয়, তাহলে True দিন, অন্যথায় False দিন।
  • আউটপুট ফেরত দিন।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
bool checkSortedandRotated(int * arr, int n) {
   int count = 0;
   for (int i = 0; i < n; i++) {
      if (arr[i] > arr[(i + 1) % n])
         count++;
   }
   return (count <= 1);
}
int main() {
   int arr[] = {5,6,7,1,2,3,4};
   int n = sizeof(arr) / sizeof(int);
   if (checkSortedandRotated(arr, n)) {
      cout << "True" << endl;
   } else {
      cout << "False" << endl;
   }
   return 0;
}

উপরের কোডটি চালানোর ফলে আউটপুট তৈরি হবে,

আউটপুট

True

যেহেতু প্রদত্ত অ্যারে [5, 6, 7, 1, 2, 3, 4] 3য় অবস্থান থেকে সাজানো এবং ঘোরানো হয়েছে, তাই আমরা এই ক্ষেত্রে 'True' হিসাবে আউটপুট পাই।


  1. C++ এ রোটেটেড সর্টেড অ্যারেতে রোটেশন কাউন্ট খুঁজুন

  2. একটি প্রদত্ত অ্যারে C++ এ জোড়া অনুসারে সাজানো হয়েছে কিনা তা পরীক্ষা করুন

  3. পাইথনে একটি অ্যারে সাজানো এবং ঘোরানো হয়েছে কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম

  4. পাইথনে একটি অ্যারে সাজানো এবং ঘোরানো হয়েছে কিনা তা পরীক্ষা করুন