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

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

এই টিউটোরিয়ালে আমরা শিখব কিভাবে একটি অ্যারে প্যালিনড্রোম (সামনে থেকে পড়লে এবং পেছন থেকে পড়লে একই) কিনা তা চেক করা যায়।

প্যালিনড্রোম অ্যারে কী?

একটি অ্যারে প্যালিনড্রোম হয় যদি arr[i] === arr[length - 1 - i] সমস্ত i এর জন্য সত্য হয়।

উদাহরণ

[1, 5, 7, 4, 15, 4, 7, 5, 1] // প্যালিনড্রোম ✓
[1, 2, 3, 4, 5]               // প্যালিনড্রোম ✗

সমাধান

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; // সব মিল খাওয়া গেল
};

// টেস্ট কেস
console.log(isPalindrome([1, 5, 7, 4, 15, 4, 7, 5, 1])); // true
console.log(isPalindrome([1, 2, 3, 2, 1]));              // true
console.log(isPalindrome([1, 2, 3, 4, 5]));              // false
console.log(isPalindrome(['a', 'b', 'a']));              // true
console.log(isPalindrome([]));                           // true (খালি অ্যারে)
console.log(isPalindrome([42]));                         // true (একক উপাদান)

অ্যাডভান্সড: ジェネরিক ফাংশন

const isPalindromeGeneric = (arr, equals = (a, b) => a === b) => {
  let left = 0;
  let right = arr.length - 1;
  
  while (left < right) {
    if (!equals(arr[left], arr[right])) {
      return false;
    }
    left++;
    right--;
  }
  return true;
};

// অবজেক্টের জন্য কাস্টম তুলনা
console.log(isPalindromeGeneric(
  [{id: 1}, {id: 2}, {id: 1}], 
  (a, b) => a.id === b.id
)); // true

উৎপাদন

true
  1. জাভাস্ক্রিপ্ট const কীওয়ার্ড

  2. জাভাস্ক্রিপ্টে অ্যারে অনুযায়ী স্ট্রিং শাফল করা

  3. জাভাস্ক্রিপ্টে অ্যারেতে সব উপাদান অনন্য (Unique) কিনা যাচাই করা

  4. জাভাস্ক্রিপ্টে অ্যারে-এর প্রতিটি এলিমেন্টে f(x) প্রয়োগ করা