কম্পিউটার

একটি প্রদত্ত স্ট্রিং C++ এ একটি প্যালিনড্রোমের ঘূর্ণন কিনা তা পরীক্ষা করুন


এখানে আমরা দেখব, একটি স্ট্রিং নির্দিষ্ট ঘূর্ণনের পরে প্যালিনড্রোম হয় নাকি না। একটি প্যালিনড্রোম একটি স্ট্রিং যা উভয় দিক একই। একটি স্ট্রিং ঘূর্ণন একটি প্যালিনড্রোম যদি এটি AAAAD এর মতো হয়। এটি সরাসরি একটি প্যালিনড্রোম নয়, তবে এর ঘূর্ণন AADAA হল একটি প্যালিনড্রোম৷

একটি স্ট্রিং প্যালিনড্রোম ঘোরানো হয়েছে কিনা তা পরীক্ষা করার জন্য, আমরা এটি একটি প্যালিনড্রোম কিনা তা প্রথমবার পরীক্ষা করব, তারপরে, এটিকে একটি অক্ষর দ্বারা ঘোরান, তারপরে আবার পরীক্ষা করুন, এই চেকিংটি সময় n পরিমাণে সঞ্চালিত হবে, যেখানে n অক্ষরের সংখ্যা।

উদাহরণ

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
bool isPalindromeRange(string str, int left, int right){
   return (left >= right) || (str[left] == str[right] && isPalindromeRange(str, left + 1, right - 1));
}
bool isRotatedPalindrome(string str){
   int len = str.length();
   for (int i = 0; i < len; i++){
      rotate(str.begin(), str.begin() + 1, str.end());
      if (isPalindromeRange(str, 0, len - 1)) //if rotated string is palindrome, then return true
         return true;
   }
   return false;
}
int main(){
   string str = "AAAAD"; //AADAA is palindrome
   //rotate(str.begin(), str.begin() + 2, str.end());
   if (isRotatedPalindrome(str))
      cout << "Its rotation is palindrome";
   else
      cout << "Its rotation is not palindrome";
}

আউটপুট

Its rotation is palindrome

  1. একটি স্ট্রিং C++ এ একটি সাব-স্ট্রিং আছে কিনা তা পরীক্ষা করুন

  2. সি# ব্যবহার করে স্ট্রিং প্যালিনড্রোম কিনা তা কীভাবে পরীক্ষা করবেন?

  3. প্রদত্ত স্ট্রিংটি স্বরবর্ণ প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

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