কম্পিউটার

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


বিবেচনা করুন আমাদের একটি অ্যারে আছে, যা ঘোরানো হয় সাজানো অ্যারে। অ্যারে সাজানোর জন্য আমাদের কতগুলো ঘূর্ণন প্রয়োজন তা খুঁজে বের করতে হবে। (আমরা ডান থেকে বামে ঘূর্ণন বিবেচনা করব।)

ধরুন অ্যারেটি এরকম:{15, 17, 1, 2, 6, 11}, তাহলে সাজানোর জন্য আমাদের অ্যারেটিকে দুইবার ঘোরাতে হবে। চূড়ান্ত অর্ডার হবে {1, 2, 6, 11, 15, 17}। এখানে আউটপুট 2।

যুক্তি সহজ. যদি আমরা লক্ষ্য করি, আমরা দেখতে পাব যে ঘূর্ণনের সংখ্যা সর্বনিম্ন উপাদানের সূচকের মানের সমান। তাই যদি আমরা ন্যূনতম উপাদান পাই, তাহলে এর সূচক হবে ফলাফল।

উদাহরণ

#include <iostream>
using namespace std;
int getMinIndex(int arr[], int n){
   int index = 0;
   for(int i = 1; i<n; i++){
      if(arr[i] < arr[index]){
         index = i;
      }
   }
   return index;
}
int countNumberOfRotations(int arr[], int n){
   return getMinIndex(arr, n);
}
int main() {
   int arr[] = {15, 17, 1, 2, 6, 11};
   int n = sizeof(arr)/sizeof(arr[0]);
   cout << "Number of required rotations: " << countNumberOfRotations(arr, n);
}

আউটপুট

Number of required rotations: 2

  1. C++ এ সর্বাধিক সংলগ্ন জোড় সংখ্যার গণনা খুঁজুন

  2. একটি সংখ্যায় সংখ্যার গণনা খুঁজুন যা সংখ্যাটিকে C++ এ ভাগ করে

  3. C++ ব্যবহার করে একটি অ্যারের মধ্যে একটি সংখ্যার ফ্রিকোয়েন্সি খুঁজুন।

  4. C++-এ অ্যারের প্রতিটি উপাদানের সারপাসার কাউন্ট খুঁজুন