একটি অ্যারে দেওয়া অ্যারে [n] যেখানে n একটি অ্যারের কিছু আকার, কাজটি হল অ্যারেটি প্যালিনড্রোম নাকি রিকারশন ব্যবহার করছে না তা খুঁজে বের করা। প্যালিনড্রোম হল এমন একটি ক্রম যা পিছনের দিকে এবং সামনের দিকে একইভাবে পড়া যায়, যেমন:ম্যাডাম, নমন ইত্যাদি৷
সুতরাং একটি অ্যারে প্যালিনড্রোম কিনা তা পরীক্ষা করতে আমরা পিছনে এবং সামনের মতো একটি অ্যারে অতিক্রম করতে পারি −
পুনরাবৃত্তিতেও আমাদের সূচনা এবং শেষের মান পরিবর্তন করতে হবে যতক্ষণ না তারা সমান হয় বা যখন শুরু এবং শেষের মান সমান না হয় তখন প্রস্থান করুন এবং প্রত্যাবর্তন করুন যে প্রদত্ত অ্যারেটি প্যালিনড্রোম নয়৷
উদাহরণ
Input: arr[] = { 2, 3, 4, 3, 2} Output: Yes, the array is Palindrome Explanation: the array is identical from start (2, 3, 4, 3, 2) and end (2, 3, 4, 3, 2). Input: arr[] = {1, 2, 3, 4} Output: No, the array is not Palindrome Explanation: The array is not identical from start (1, 2, 3, 4) and end (4, 3, 2, 1).
নিচে ব্যবহৃত পদ্ধতিটি নিম্নরূপ −
আমরা পুনরাবৃত্তিমূলকভাবে নিম্নলিখিত পদক্ষেপগুলি করব -
- চেক করুন arr[start] সমান arr[end] এবং start
- বৃদ্ধি 1 দিয়ে শুরু হয় এবং হ্রাস 1 দিয়ে শেষ হয়।
- ধাপ 1 যান।
অ্যালগরিদম
Start In function int palindrome(int arr[], int start, int end) Step 1-> If start >= end then, Return 1 Step 2-> If arr[start] == arr[end] then, Return palindrome(arr, start + 1, end - 1) Step 3-> Else { Return 0 In fucntion int main() Step 1-> Declare and initialize an array arr[] Step 2-> Declare and initialize n = sizeof(arr) / sizeof(arr[0] Step 3-> If palindrome(arr, 0, n - 1) == 1 then, Print "Yes, the array is Palindrome” Step 4-> Else Print "No, the array is not Palindrome” Stop
উদাহরণ
#include <stdio.h> // Recursive pallindrome function that returns 1 if // palindrome, 0 if it is not int palindrome(int arr[], int start, int end) { // base case if (start >= end) { return 1; } if (arr[start] == arr[end]) { return palindrome(arr, start + 1, end - 1); } else { return 0; } // Driver code int main() { int arr[] = { 1, 2, 0, 2, 1 }; int n = sizeof(arr) / sizeof(arr[0]); if (palindrome(arr, 0, n - 1) == 1) printf("Yes, the array is Palindrome\n"); else printf("No, the array is not Palindrome\n"); return 0; }
আউটপুট
উপরের কোডটি চালালে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেYes, the array is Palindrome