কম্পিউটার টিউটোরিয়াল

প্যালিনড্রোম অ্যারে চেক - JavaScript

অ্যারে সামনে থেকে পড়লে এবং পেছন থেকে পড়লে একই কিনা চেক করা (প্যালিনড্রোম অ্যারে)।

উদাহরণ

['a', 'b', 'c', 'b', 'a']  → true
[4, 7, 7, 4]                → true
[7, 7, 7, 7, 7, 7]          → true
[1, 2, 3, 4, 5]             → false

সমাধান

const isPalindrome = (arr) => {
  const len = arr.length;
  const mid = Math.floor(len / 2);
  
  for (let i = 0; i < mid; i++) {
    if (arr[i] !== arr[len - 1 - i]) {
      return false;
    }
  }
  return true;
};

// Two-pointer পদ্ধতি (আরো স্পষ্ট)
const isPalindromeTwoPointer = (arr) => {
  let left = 0;
  let right = arr.length - 1;
  
  while (left < right) {
    if (arr[left] !== arr[right]) return false;
    left++;
    right--;
  }
  return true;
};

// Every() ব্যবহার করে
const isPalindromeFP = (arr) => 
  arr.every((val, i) => val === arr[arr.length - 1 - i]);

// টেস্ট
console.log(isPalindrome([1, 5, 7, 4, 15, 4, 7, 5, 1])); // true
console.log(isPalindrome([1, 2, 3, 4, 5]));               // false
console.log(isPalindrome(['a', 'b', 'a']));               // true
console.log(isPalindrome([]));                            // true

জটিলতা

  • সময়: O(n/2) = O(n)
  • স্থান: O(1)

উৎপাদন

true
  1. জাভাস্ক্রিপ্টে অ্যারে জন্য স্প্রেড অপারেটর

  2. জাভাস্ক্রিপ্টে সেন্ট্রালি পিকড (Centrally Peaked) অ্যারে যাচাই করা

  3. জাভাস্ক্রিপ্টে বিশেষ সংখ্যা যাচাই করা

  4. জাভাস্ক্রিপ্টে দুটি অ্যারের বর্গ সমানতা যাচাই