কম্পিউটার

জাভাস্ক্রিপ্টে দীর্ঘতম স্ট্রিং চেইনের দৈর্ঘ্য


শব্দ চেইন

ধরা যাক word1 হল word2-এর পূর্বসূরি যদি এবং শুধুমাত্র যদি আমরা word1-এর যেকোনো জায়গায় ঠিক একটি অক্ষর যোগ করে এটাকে word2-এর সমান করতে পারি। উদাহরণস্বরূপ, "abc" হল "abac" এর পূর্বসূরী।

একটি শব্দ শৃঙ্খল হল শব্দের একটি ক্রম [word_1, word_2, ..., word_k] সঙ্গে k>=1, যেখানে word_1 হল word_2 এর পূর্বসূরি, word_2 হল word_3 এর পূর্বসূরি, ইত্যাদি।

সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম এবং একমাত্র আর্গুমেন্ট হিসাবে স্ট্রিং, arr-এর একটি অ্যারে নেয়৷

অ্যারে অ্যারের প্রতিটি স্ট্রিং ইংরেজি ছোট হাতের অক্ষর নিয়ে গঠিত। আমাদের ফাংশনটি প্রদত্ত অ্যারে, অ্যার থেকে নির্বাচিত শব্দগুলির সাথে একটি শব্দ চেইনের দীর্ঘতম সম্ভাব্য দৈর্ঘ্য ফিরিয়ে দেবে৷

উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −

const arr = ["a","b","ba","bca","bda","bdca"];

তারপর আউটপুট −

হওয়া উচিত
const output = 4;

আউটপুট ব্যাখ্যা:

দীর্ঘতম শব্দ শৃঙ্খলগুলির মধ্যে একটি হল "a","ba","bda","bdca।"

উদাহরণ

এর জন্য কোড হবে −

const arr = ["a","b","ba","bca","bda","bdca"];
const longestStrChain = (arr) => {
   arr.sort((a, b) => a.length - b.length);
   const isPredecessor = (word1 = '', word2 = '') => {
      if(Math.abs(word1.length - word2.length) !== 1){
         return false;
      };
      for(let i = 0; i < word2.length; i++){
         const word = word2.slice(0, i) + word2.slice(i + 1);
         if(word === word1){
            return true;
         };
      };
      return false;
   };
   const array = [];
   let max = 0;
   for(let i = arr.length - 1; i >= 0; i--){
      array[i] = 1;
      for(let j = arr.length - 1; j > i; j--){
         if(isPredecessor(arr[i], arr[j])){
            array[i] = Math.max(
               array[i],
               1 + array[j],
            );
         };
      };
      max = Math.max(max, array[i]);
   };
   return max;
};
console.log(longestStrChain(arr));

আউটপুট

এবং কনসোলে আউটপুট হবে −

4

  1. জাভাস্ক্রিপ্টে সেটের দীর্ঘতম দৈর্ঘ্য খুঁজুন এবং ফেরত দিন

  2. জাভাস্ক্রিপ্টে সংক্ষিপ্ততম সাজানো বিন্যাসের দৈর্ঘ্য

  3. জাভাস্ক্রিপ্টে দীর্ঘতম পরপর যোগদান করা

  4. C++ এ দীর্ঘতম স্ট্রিং চেইন